react 用父组件状态控制子组件状态方案

react 想用父组件的状态来控制子组件的状态。有时我们可能想在父组件里设置子组件某个状态的值,这时我们应该怎么实现代码呢?

法一:把需要共享的状态放在子组件的参数里

比如下面这个 MyTestSubModal 子组件,有 2 个状态:visible 和 loading,分别使用 setVisible 和 setLoading 来控制,不仅子组件自己可以设置状态,而且想在父组件中也能修改这两个状态,那么可以把这 4 个参数都放到子组件的参数里。这样子组件和父组件都可以用这 4 个参数。父组件修改状态后,子组件的状态也会变化。

export default function MyTestSubModal(props: { visible: boolean; setVisible: (value: boolean) => any; loading: any; setLoading: (value: any) => any }) {
  const { visible, setVisible, loading, setLoading } = props;
  // 后续就可以像使用局部状态一样使用  visible, setVisible, loading, setLoading 了
}

法二:React的受控组件和非受控组件

可以看React的受控组件和非受控组件介绍

posted @   Lucky小黄人^_^  阅读(191)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示