私のコードは機能しますが、これは良いコーディング慣行かどうか、または後で問題を引き起こすかどうかを明確にしたかっただけです。コンポーネントキーを使用して配列から要素を削除するReactjs
バックグラウンドのビットとして、前の質問How to filter through array of components/elements in reactjsと似ています。しかし今回は、dom要素の配列をフィルタリングする代わりに、配列の要素をフィルタリングしています。ここで私はそれをやった方法は次のとおりです。
親:
delete_this(index)
{
let key = index._reactInternalInstance._currentElement.key;
this.repeats = this.repeats.filter((item) =>
{
return item.key !== key;
});
this.setState({ repeats: this.repeats });
}
子供:
delete_this(value)
{
this.props.delete_this(value);
}
render()
{
<button onClick={this.delete_this.bind(this, this)} ref={ (input) => { this.button = input; } }>delete</button>
}
は、私は、オブジェクト自体にフィルタをやってみましたが、それは私が代わりにキーを使用し動作しませんでした。
ええ、この時点で、私はそれはそれは実際にはかなり違う、おそらくID –
に渡すのとちょうど同じだと思います:) 'キー'はReactの「特殊な」属性のほんの一部です(Angularとは異なり、どこにいてもこの数多くの属性を持っています)。あなたが投稿した4つまたは5つの同様の質問から、あなたはIDやそれに類似する概念を避けたいようです。最初は複雑さが増すのを避けたいと思っていますが、ほぼすべてのアプリにはアイデアのアイデアがあります(これはアプリにとってローカルですが、繰り返し項目をユニークにしています)。 – Chris
ええ、コードの別の部分でマッピングを使用しています –