render() {
return (<div> this.list.map(obj => <input value={obj.name} type="checkbox" />)</div>)
}
爲什麼上面的代碼不起作用?得到意想不到的令牌通過輸入複選框反應地圖得到意想不到的令牌
render() {
return (<div> this.list.map(obj => <input value={obj.name} type="checkbox" />)</div>)
}
爲什麼上面的代碼不起作用?得到意想不到的令牌通過輸入複選框反應地圖得到意想不到的令牌
你忘了包裹map
部分{}
,就這樣寫:
render() {
return (
<div>
{this.list.map(obj => <input key={obj.name} value={obj.name} type="checkbox" />)}
</div>
)
}
指定唯一key
到每個輸入元素。
如果列表是一個state
變量,那麼你需要編寫this.state.list
,不確定如此使用相同的代碼。
將無法正常工作https://jsfiddle.net/jwm6k66c/2813/ –
一些格式問題不給不必要的空間,它的工作:https://jsfiddle.net/mayankshukla5031/kncwe7xu/ –
您需要將map
換成大括號。代碼應該如下:
class HelloWidget extends React.Component {
constructor(props) {
super(props);
this.list = [{
"id": "exhibitions",
"name": "Exhibitions"
}, {
"id": "festivals_n_concerts",
"name": "Festivals & Concerts"
}, {
"id": "grand_opening",
"name": "Grand Opening"
}]
}
render() {
return (
<div>
{this.list.map(obj => <input key={obj.name} value={obj.name} type="checkbox" />)}
</div>
)
}
}
React.render(<HelloWidget /> , document.getElementById('container'));
這將工作。 Here is the fiddle。
如果您打算在React組件中使用它,則需要用大括號包裝代碼。 –
@MichaelLyons現在有什麼問題? https://jsfiddle.net/jwm6k66c/2813/ –
你的div支架符號中有一堆空格。檢查這一個:[https://jsfiddle.net/jwm6k66c/2814/](https://jsfiddle.net/jwm6k66c/2814/) –