reactjs - 在 React 中使用 .map() 生成一个组件时,如何让一个组件与另一个组件通信?
问题描述
我有多个组件使用相同的模块map()
。
list.map((data, index) => <MyComponent key={index} value={d}/>)
然后<p>
在每个 MyComponent 中单击它时将颜色从绿色变为红色。
const MyComponent = ({value}) => {
const [clicked, setClicked] = useState(false);
const buttonOnClick = () => {
setClicked(true);
}
return (
<div>
<p style={clicked ? {color: 'green'} : {color: 'red'}}>{value}</p>
<button onClick={buttonOnClick}>click</button>
</div>
);
};
在这种情况下,我想<p>
在单击其中一个时将其他 MyComponent 的颜色变为红色。
如何检查<p>
其他 MyComponent 的状态?
解决方案
可能最简单的选择是将状态提升到父组件中:https ://reactjs.org/docs/lifting-state-up.html
推荐阅读
- r - R Shiny 仪表板 - 如何使用选择框以交互方式选择散点图的 x 和 y 轴?
- r - 将比例尺添加到使用 ggRGB 制作的地图
- delphi - 印地。通过流发送附加 pdf
- url - 创建一个将照片和文本发布到linkedin 组的程序?
- c++ - 如何通过从 QChart 继承来制作极坐标图
- multithreading - 如何从 F# 中的非阻塞异步方法更新 WPF GUI
- c++ - GoLang(cgp) http.Client 获取请求从 Linux 守护进程挂起
- excel - 基于下拉菜单vba清除隐藏excel单元格的内容
- android - Android自定义工具栏项目未显示
- c++ - C ++如何使用另一个数组将整数添加到数组中的变量中