setState를 사용하여 상태의 state.item을 업데이트하는 방법은 무엇입니까?
<p>저는 사용자가 자신만의 양식을 디자인할 수 있는 응용 프로그램을 만들고 있습니다. 예를 들어. 필드 이름과 포함되어야 하는 다른 열의 세부정보를 지정합니다. </p>
<p>이 구성요소는 JSFiddle로 사용 가능합니다. </p>
<p>제 초기 상태는 다음과 같습니다:</p>
<pre class="brush:php;toolbar:false;">var DynamicForm = React.createClass({
getInitialState: 함수() {
var 항목 = {};
items[1] = { name: 'field 1', populate_at: 'web_start',
동일_명: '고객_이름',
autocomplete_from: '고객_이름', 제목: '' };
items[2] = { name: 'field 2', populate_at: 'web_end',
동일_명: '사용자_이름',
autocomplete_from: 'user_name', 제목: '' };
{ 항목 } 반환;
},
렌더링: 함수() {
var _this = 이것;
반품 (
<div>
{ Object.keys(this.state.items).map(함수 (키) {
var item = _this.state.items[key];
반품 (
<div>
<PopulateAtCheckboxes this={this}
확인됨={item.populate_at} id={key}
populate_at={data.populate_at} />
</div>
);
}, 이것)}
<button onClick={this.newFieldEntry}>새 필드 만들기</button>
<button onClick={this.saveAndContinue}>저장하고 계속하기</button>
</div>
);
}</pre>
<p>사용자가 값을 변경할 때 상태를 업데이트하고 싶지만 올바른 개체를 찾는 데 문제가 있습니다. </p>
<pre class="brush:php;toolbar:false;">var PopulateAtCheckboxes = React.createClass({
handlerChange: 함수 (e) {
항목 = this.state.items[1];
item.name = '새이름';
항목[1] = 항목;
this.setState({items: 항목});
},
렌더링: 함수() {
var populateAtCheckbox = this.props.populate_at.map(function(value) {
반품 (
<레이블={값}>
<input type="radio" name={'populate_at'+this.props.id} 값={value}
onChange={this.handleChange} 확인됨={this.props.checked == 값}
ref="채우기-at"/>
{값}
</라벨>
);
}, 이것);
반품 (
<div className="populate-at-checkboxes">
{populateAtCheckbox}
</div>
);
}
});</pre>
<p><code>items[1].name</code>를 업데이트하려면 <code>this.setState</code>를 어떻게 만들어야 하나요? </p>