reactjs - 在内部组件中设置变量的状态
问题描述
我有一个简单的反应组件来保存状态。该组件变得非常长,我想将它分成更小的组件。
export default function FatherComponent(props) {
const [name, setName] = useState('');
... other functionality ...
return (
<div className="main-container">
{renderBody()}
<SonComponent
name={name}/>
</div>
然后我把一些处理的代码去掉name
到儿子的组件里,还有一些还在父亲的组件里处理(所以我没有完全移到里面)。
在儿子的组件中,我怎样才能改变 的值name
,使其值name
在父亲的组件中也发生变化?
解决方案
只需传递setName
给子组件。但好的做法是创建一个处理程序。
例如:
const [name, setName] = useState('');
const setNameHandler = (name) => {
setName(name);
}
/*...*/
<SonComponent
name={name}
setNameHandler={setNameHandler}
/>
/*...*/
推荐阅读
- node.js - 合适的加载器来处理这个文件类型,目前没有配置加载器来处理这个文件。构建期间的下一个 js 配置错误
- java - HttpURLConnection Locally 适用于所有 url,但它不在服务器上
- python - 如何检查它是否是python中的新一天?
- r - 如何重命名R列内的项目?
- json - 自动为所有类型派生配置的编解码器
- typo3 - Plesk - TYPO3 10LTS - 客户端在尝试访问页面模块时被服务器配置错误拒绝并被锁定
- python - 使用 matplotlib 查找交点
- python - 使用 Python 在 Yahoo Finance 中抓取 Analysis 选项卡
- javascript - Firebase 云功能在更新集合时出错
- c# - 实体框架核心动态 GroupBy