【发布时间】:2020-01-10 08:04:16
【问题描述】:
我正在尝试在地图功能中使用 setState 当我点击改变状态的点击按钮时我想要做什么
我在stackoverflow中搜索了“In map function changed setState”
但很难理解..并应用我的案例
this.state = {
categories: [
{
category: 'sports',
ariticles: [],
isClick: true
},
...
...
return (
<div>
<hr></hr>
<div className="categoryBtn">
{this.state.map(item => (
<button
onClick={
() => this.setState(() => (item.isClick = false))
// () => console.log((item.isClick = false))
// this.setState(() => (item.isClick = !item.isClick))
}
>
{' '}
{item.category}
</button>
))}
当我点击按钮时,我收到错误“this.state.map 不是函数”
我希望当我点击按钮时,isClick 会被切换
【问题讨论】:
-
.map 仅在可迭代中可用,您的
this.state是一个对象,我认为您需要引用categories数组。所以应该是this.state.categories.map(...
标签: javascript reactjs