Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reactについての良くある問答

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for kjirou kjirou
May 10, 2017

 Reactについての良くある問答

Avatar for kjirou

kjirou

May 10, 2017
Tweet

More Decks by kjirou

Other Decks in Programming

Transcript

  1. > Never mutate this.state directly, as calling setState() afterwards may

    replace the mutation you made. 引用元) https://facebook.github.io/react/docs/react-component.html#state > The only place where you can assign this.state is the constructor. 引用元) https://facebook.github.io/react/docs/state-and-lifecycle.html#do-not-modify-state-directly また「代入を禁止する」という点が、特に各所で強調されています。
  2. 過去の事例を見るに、state へ直接代入するコードを書いた理由は、Component 内 部に再描画を伴わないで更新できる変数が欲しいからでした。 その場合、this.state 内に格納するよりは、 任意のインスタンス変数を定義した方が良いです。 react-redux の Provider

    https://github.com/reactjs/react-redux/blob/master/src/components/Provider.js react-transiton-group の TransitionGroup https://github.com/reactjs/react-transition-group/blob/master/src/TransitionGroup.js いくつか react オーガニゼーション下のライブラリを確認したところ インスタンス変数を使ってたので、良さそうと思いました。 代替案
  3. A. とりあえず知ってる範囲で答えてます { “input”: { “visible”: false, “value”: “” },

    “list”: [] } { “input”: { “visible”: true, “value”: “foo” }, “list”: [ { “message”: “One” }, { “message”: “Two” } ] } すごいUI UIの状態を表現するデータ Reactコンポーネント群 すごいUI foo ・One ・Two Reactを使うことで、外から渡さ れたデータの値に対して、 UIが 一意に表現されることを保証で きる。 それを保証すると、UIの誤りは データの誤りになるため、デ バッグが楽。テストも書きやす い。