私はチェックボックスリストの要件の束を持っています。私は詳細に説明します。言語の束が言う私がいる:reactjs checkboxlistコンポーネント - 親の状態変更の更新
var languages = ["English", "German", "French", "Spanish", "Mandarin", "Tamil"]
私は四つの部分を持っているフォーム、セイ持つ親コンポーネントがあります。
class Page extends React.Component {
render() {
return (
<form>
<h1>CanSpeak</h1> <chkboxlist someProp="speak" />
<h1>CanSpeak</h1> <chkboxlist someProp="read" />
<h1>CanSpeak</h1> <chkboxlist someProp="write" />
<h1>CanSpeak</h1> <chkboxlist someProp="understand" />
<button
onClick={e => {
console.log("Need the various chkboxlist values here");
e.preventDefault();
}}
>
Save
</button>
</form>
);
}
}
を私はchkboxlistコンポーネントがリストのトラックを維持したいです各セクションで選択された言語の "保存"ボタンクリックハンドラで利用可能にする。私は "ページ"コンポーネント内の状態の変化(各セクションの下で選択された言語のリスト)を追跡したいと思います。
私はreduxまたはそのような外部状態管理を使用したくありません。
このchkboxlistコンポーネントを作成して、状態の変更を親ページコンポーネントで追跡できるようにするにはどうすればよいですか?この要件に適合する既存のコンポーネントがあり、ホイールを再開発することなく反応エコシステムで広く使用されていますか?
、SETSTATEが呼び出されていないと、状態値が直接変異さ: https://jsbin.com/bitile/edit?js,output
あなたのような何かができます)。だから、私はコンストラクタを次のように置き換えました: 'コンストラクタ(小道具){ super(小道具); var values = {}; props.values.forEach(function(element){ values [element] = false; }、this); this.state = values; }可能な場合は、ソースを更新するようにお願いします。ありがとう。 –