私はいくつかのコードを使いこなしています。 FluxやReduxなしのReactでImmutable.jsを使用するのは愚かな作業です。FluxやReduxなしでImmutable.jsを使用する
toggleTask(task) {
const found = _.find(this.state.taskList, task => task.name === task);
found.isDone = !found.isCompleted;
const index = _.findIndex(this.state.taskList, task => task.name === task);
const temp = Immutable.fromJS(this.state.taskList);
temp.setIn([index, 'isDone'], found.isDone).toJS();
this.setState({ taskList: temp.toJS() });
}
は私が、私は不変オブジェクトを作っていただった愚か者のどのくらいを実現する前に、基本的に、Immutable.jsメソッドを使用して、それを変更してからアレイに戻し、それを変更しました。浅い比較は不変のオブジェクトなしで動作するため、無駄です。
私はlodashメソッドを使用してきたshouldComponentUpdate(nextProps) {
return (this.props.name !== nextProps.name || this.props.priority !== nextProps.priority || this.props.isDone !== nextProps.isDone );
}
が、私は個別に小道具を比較していますし、彼らはプリミティブ(文字列やブール値などのプリミティブはとにかくimmutablesすることはできません)ですので、私は実際にそれを考えていないので、私はそれらを使用していない場合でもおそらく働いただろう。
toggleTask(task) {
const found = _.find(this.state.taskList, task => task.name === task);
found.isDone = !found.isDone;
this.setState({ taskList: this.state.taskList });
}
ReactのImmutable.jsはReduxやFluxなしでは役に立たないと言っても間違いですか?私が正しく理解していないことがありますか?私は例を見てきましたが、FluxやReduxを使ったことがないので、私には分かりませんでした。
ライブラリを正しく使用していません... Flux/Reduxとは関係ありません。 – c0deNinja