重大なパフォーマンス上の問題が発生しました。私は2000年、非常に大きなDOM構造のリスト項目のリストを使用してアプリケーションを持っている私はこのようなリストコンポーネントに一つの項目を変更していたとき:React - 1つのリスト項目を変更すると重大なパフォーマンス上の問題が発生する
changeOne:function(){
var permTodos = this.props.todos;
permTodos[Math.floor((Math.random() * 5) + 0)].todo=((Math.random() * 50) + 1);
this.setState({ todos: permTodos });
},
それは仮想DOM表現でリスト項目のすべてを再レンダリング、これは本当に遅いです。 Angular1では同じことが約40倍速くなります。私は、リスト項目
shouldComponentUpdate:function(nextProps, nextState){
return this.props.todo!==nextProps.todo;
},
ためshouldComponentUpdateを実装しようとしたが、this.props.todoはnextProps.todoはそう何も変わっていないのと同じです。私はこのフィドルで私のアプリケーションのミニバージョンを再作成しましたhttps://jsfiddle.net/2Lk1hr6v/29/と私はこの不幸な状況で私を助けることができるsomリアクトエキスパートがあることを望んでいます。あなたは、リストから項目ごとに一意のキーを追加する必要が
おそらく、すべてのアイテムを同時に表示すべきではありません。必要なものだけを表示してください。これはReactではかなり簡単です。あなたは 'react-virtualize'のようなライブラリを使うこともできますし、自分で行うこともできます。 – BravoZulu