只是一點背景,我對JavaScript和Web開發真的很陌生,但一直很樂意在React上做一些教程。也是我第一次發佈在stackoverflow!處理onChange和設置輸入數組的狀態
我正在構建一個組件以顯示是/否問題列表,用戶必須通過選擇單選按鈕並在文本區域中添加一些註釋來進行響應。我不確定我應該如何設置使用map生成的輸入數組的狀態。
我有一個數組拿着我的問題:
var questions = [
{id:"1", text:"Is the source up to date?"},
{id:"2", text:"Question 2 placeholder"},
{id:"3", text:"Question 3 placeholder"},
]
,這裏是我的(未完成)成分:
var QuestionList = React.createClass({
getInitialState: function() {
return {
commentText: "",
}
},
onUpdateComments: function (e) {
this.setState({
commentText: e.target.value
});
},
render: function() {
var QuestionLines = this.props.questions.map(function(question) {
return (
<div key={question.id}>
<div>
<div>
{question.text}
</div>
<label>
<input type="radio" name={question.id} value = {question.id+'Y'}/>Yes
</label>
<label>
<input type="radio" name={question.id} value = {question.id+'N'}/>No
</label>
</div>
<div>
<textarea
name = {question.id}
onChange = {this.onUpdateComments}
placeholder="Enter comments here"
value={this.state.commentText} />
</div>
</div>
);
}, this);
return (
<div>
{QuestionLines}
</div>
)
}
});
的應用程序現在會顯示在所有3個文本域相同的文字,我可以看到這是因爲我將textarea的所有更改存儲在相同的commmentText狀態中。但是,我真的很難將我需要做的事情分離出來並完成這項工作。任何幫助將不勝感激。
另外,正如我所提到的,我對這個超新的東西,所以如果有什麼關於我如何構建我的組件,請讓我知道。
謝謝!
謝謝!這工作完美。 – wongtam