defaultValue
の場合、非常に奇妙な動作に気付きました。 defaultValue
の部分を使用して再レンダリングすると、再レンダリングが登録されず、状態の初期レンダリングが維持されることがあります。 defaultValueと値を再レンダリングしたときの奇妙な振る舞い
しかしdefaultValue
value
への修正から、この問題を切り替える:
は写真を参照してください。
これは、この問題が発生している可能性のある他の人たちと、なぜこのようなことが起こるのかについての質問です。
生成するコードの行は、この:これは最終的にmap
取得
inner_array.push(
<div key={j}>
<input defaultValue={final_line} style={{ width: "100%" }} onClick={this.highlight} ></input>
</div>)
「は次のようにD:
{Object.keys(data).map((item, index) => (!item.match(/default/i)) ? <li key={index}>{item}</li> : "")}
追加情報
だからものは再引き起こします-renderはsetState
です。以前のオブジェクトを別のオブジェクトで上書きしています。
例
はdefaultValueとアクションの値: フィドル:https://jsfiddle.net/69z2wepo/74509/
私の推測では、アイテムのリストを変更したときに、あなたの 'key'小道具が衝突していると考えられます。配列インデックスをキーとして使用することはお勧めしません。ユニークなものに置き換えてください。 – AlexM
@AlexMまあ、そうではないようです。とにかくキーの実際の目的は何ですか?彼らはそれがないとうまく機能しているようですが、私はコンソールを追加するだけです。 –
あなたの例を確認しました。実際はそうだった。私はあなたに数分で説明をします。 – AlexM