-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_ReactThirdStep
- 戻る(React -> Redux)
- Reactのファースト・ステップ
- Reactのセカンド・ステップ
- Reactのサード・ステップ
- Reactの4thステップ
- Reactの5thステップ
- ...Reactのファースト・ステップ2
- create-react-appを使用した、React + Reduxの step by step。
-
ファースト・ステップ、セカンド・ステップで作成した、
テンプレートをベースにしてASP.NETのCRUD処理を実装する。
https://github.com/OpenTouryoProject/FrontendTemplates/tree/develop/SPA/React/react_template
をベースにしてASP.NETのCRUD処理を実装する。
以下があるが、基本は1、2辺りを使う。
-
Classによるスタイリング
JSXではclassが予約語となっているためclassName 属性を使用する。 -
インラインのスタイリング
-
例1
return ( <button className="btn btn-default" style={{color: "red"}}/> );
-
例2
var btnstyle = { color: "red" }; return ( <button className="btn btn-default" style={btnstyle}/> );
-
-
CSS Modules
-
CSS in JS
-
stateによって値を管理するComponent。
-
textもdrop downも、この方法に従う。
-
value、defaultValue、onChangeを設定する。
- value: stateの値
- defaultValue: (初期化した)stateの値
- onChange: stateの変更処理
-
注意
- onChangeでは、stateの一部を変更するようにする。
mapでループする場合、JSXのelementにkeyプロパティを追加する。
以下のように処理できる。
fetch("URL", {method, headers, body}).then(...-
const method = "POST";
-
const headers =
-
POST
{ 'Accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded;' };
-
JSON-RPC
{ 'Accept': 'application/json', 'Content-Type': 'application/json' };
-
-
const body
-
POST
= "xxx=XXX&yyy=YYY&zzz=ZZZ"
-
JSON-RPC
= JSON.stringify({xxx:XXX, yyy: YYY, zzz: ZZZ}) ;
-
- 今からはじめるReact.js〜スタイルの適用〜
https://qiita.com/kuniken/items/b06de893c22f33499a22 - Reactのコンポーネントのスタイリングをどうやるか
https://qiita.com/lightnet328/items/218eb1c4a347302cc340 - javascript - Adding inline styles to react - Stack Overflow
https://stackoverflow.com/questions/31972552/adding-inline-styles-to-react
-
React.jsでFormを扱う
https://qiita.com/koba04/items/40cc217ab925ef651113 -
ReactのsetStateで配列の一部を変更する
https://qiita.com/mr_04v/items/1f0f74efc3060cb25ecf -
select
- pure react で
<select>を使う
https://qiita.com/noobar/items/44046425daae9771cc8d - javascript - ReactJS: Select with default value from props without onChange event? - Stack Overflow
https://stackoverflow.com/questions/43749761/reactjs-select-with-default-value-from-props-without-onchange-event
- pure react で
- React.jsの地味だけど重要なkeyについて
https://qiita.com/koba04/items/a4d23245d246c53cd49d - React.js で map() を使ってみる
https://qiita.com/Ryosuke-Hujisawa/items/24bd369e0d614c1424a4
- fetch API でも POST したい!
https://qiita.com/legokichi/items/801e88462eb5c84af97d
https://github.com/OpenTouryoProject/FrontendTemplates/tree/develop/SPA/React/redux_template
をベースにしてASP.NETのCRUD処理を実装する。
React の Component(React の「コンポーネント指向」の該当節を参照)のstateを、
Redux の Container(Redux の「View」の該当節を参照)側でmapStateToPropsすることでprop化する。
- イベントをActions(Redux の「Actions」の該当節を参照)に定義する。
- Container(Redux の「View」の該当節を参照)側でmapDispatchToPropsして、
Component(React の「コンポーネント指向」の該当節を参照)からActionsを呼び出せるようにする。
- Reducersを Store で束ねる(いずれも Redux の「ドメイン」の該当節を参照)。
- Reducersに、initialStateを定義して、
各処理でpropsを更新する処理を実装する。
双方向バインドを行う場合、input type="text" の onChange時をRedux化する必要がある。
以下のレイアウト崩れの解消を行う。
- 新設されたFrontendTemplateリポジトリの紹介 - OSSコンソーシアム
https://www.osscons.jp/joex3y5gs-537/
色々調べてみると、
-
単にJSXがHTML化されたときに、
HTMLとしてlayout崩れていたダケだった。 -
RenderでJSXを返しているので、
コンポーネント化のデメリットとして見通しが悪くはある。
移行メモ
- 元 Wiki の「JOSN-RPC」は「JSON-RPC」の誤記のため修正した。
- 同名の見出し(「ポイント」「参考」および参考側の各項目名)が複数あり GitHub Wiki でアンカが衝突するため、括弧で文脈を補って一意にした。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。
Tags: 移行, React, Redux, サード・ステップ, CRUD, fetch API, JSON-RPC, Controlled Component
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。