私はこのように初期化されるCookingClass
コンポーネントを持っているとしましょう。教師の小道具を更新すると、コンポーネント全体が再レンダリングされるべきですか?
let teachers = makeTeachers(["Amber", "Jason", "Lily"])
let students = makeStudents(["Hopper"])
<CookingClass
teachers={teachers}
students={students}
/>
一つが脱落した:
let newTeachers = makeTeachers(["Amber", "Jason"])
<CookingClass
teachers={newTeachers}
/>
それは全体のコンポーネントが再レンダリングするようになります。 Reactがdiffを計算して効率的に再レンダリングするかどうかはわかりませんが、shouldComponentUpdate
を使って自分で処理する必要があります。
さらに実際の例では、100万個のマーカーがあり、マーカーの1つを置きたい場合にGoogleマップを実装している可能性があります。
はい、あなたは再レンダリングを最小限に抑えるために、 'shouldComponentUpdate'を使用する必要があり、リサイクルを保証するために、' key'sを使用しています。 – Kujira
react-reduxを使用してください。これはあなたのためにこの問題を解決しますhttp://redux.js.org/docs/basics/UsageWithReact.html –