【发布时间】:2017-11-25 19:40:43
【问题描述】:
我在 React 中创建了以下组件
<CatFood
name="Cat Food 1"
onFoodUploaded={foods=> this.setState({catFood1: this.state.catFood1.concat(foods)})}
/>
这个组件有一个上传食物的按钮(这是一个例子:))。
当我两次使用这个组件时,在同一页面上一个接一个
<CatFood
name="Cat Food 1"
onFoodUploaded={foods=> this.setState({catFood1: this.state.catFood1.concat(foods)})}
/>
.....
Some Code
.....
<CatFood
name="Cat Food 2"
onFoodUploaded={foods=> this.setState({catFood2: this.state.catFood2.concat(foods)})}
/>
由于某种原因,当我在第二个组件(“猫粮 2”)上上传食物时,它会设置“猫粮 1”的状态,catFood1 正在更新...
我在这里做错了什么?
更新
对我来说,问题是我包含了一个输入元素来上传文件。我还为它附加了一个带有 htmlFor 属性的标签,该属性指向它的 id。
两个组件的输入 id 相同,所以当我点击第二个组件的标签时,它会找到第一个组件的输入标签并通过那里上传文件。
【问题讨论】:
-
当您将
foods参数传递给箭头函数时,它是从哪里来的? -
你应该写下你的更新作为答案,这对我来说是个问题,谢谢
标签: reactjs