我嘗試編寫自己的自定義組件,但它不起作用,因爲我希望。交互似乎沒問題,但它只是渲染數組的最後一項。自定義組件失敗,地圖
export default class MyComponent extends Component {
constructor() {
super()
this.state = {
openItems: false,
selectedItem: 'Please select'
}
}
render() {
const { items, className } = this.props
const { openItems, selectedItem } = this.state
return (
<div className={classnames('myComponent', className)}>
<div tabIndex="1"
onBlur={() => this.setState({ openItems: false })}
onFocus={() => this.setState({ openItems: true })}>
{selectedItem}
<div className={classnames({'show': openItems === true, 'hide': openItems === false})}>
{items.map((obj, i) => {
return(
<li onClick={() => this.setState({ selectedItem: obj.name, openItems: false })}
key={i}>
{obj.name}
</li>
)
})}
</div>
</div>
</div>
)
}
}
和地方我使用的成分這樣
<MyComponent items={[{
name: 'abc',
name: 'def',
name: 123
}]} />
我不知道這個錯誤是什麼。
試圖通過對象的數組:[{名稱:「ABC」},{名稱:'def'},{名稱: 123}] 你現在只有一個對象在數組中。 – AppleJam
嘿!你可能會提到這個問題中的錯誤。 –