Reactアプリケーションでreact-addons-update
npmパッケージを使用しています。具体的には、オブジェクトの配列内に新しいオブジェクトを挿入するためにupdate()
メソッドを使用します。 私は私のコンポーネントの状態の一部として、このような構造を持っている:react-addons-update - オブジェクトの配列内にオブジェクトを挿入する方法は?
...
constructor(props) {
super(props);
this.state = {
blocks: [
{
block_title: "some title",
items: [
{
item_title: "foo"
},
{
item_title: "bar"
}
]
},
{
...
}
]
};
}
...
と私は最初と2番目の項目の間、items
配列に新しい項目を挿入します。 (エラーがいずれかのスローされませんされている)
...
insertItem(){
let obj = {
item_title: "in between foo and bar"
};
this.setState({
blocks: update(this.state.blocks, {
[0]: {
items: {$splice: [[1, 0, obj]]}
}
})
});
}
...
をが、これは動作していないようです:
私はこれを試してみました。何か案は?
p.s.私はMeteorアプリケーション内でReactを使用しています。このヘルパー関数が動作しないようにするためのいくつかの特長があります。
更新方法は何ですか?以下のような解決策として
、私はSETSTATEコールバックオプションを使用しましたかブロックは 'Immutable.List'ですか?もしそうなら、あなたは 'updateIn'を使う必要があると思います。配列を' updateIn'メソッドに渡す前に別々に再構成する必要があります。 – RocketGuy3
update()メソッドは、react-addons-update npmパッケージのヘルパー関数です。 – JoeTidee
はあなたのコードがうまくいくように見えます。更新とは異なる何かに関連する可能性がありますか?更新機能をログに記録する場合、結果は何ですか? –