react函数组件如果需要根据props, clone一个局部状态, 该怎么办?

const modal = (data, visible) => {

  const [localData, setLocalData] = useState({});
  useMemo(() => {
    if(visible) setLocalData(data);
  }, [data, visible]);

  // 做一些操作, 修改localData
}

代码类似上边的, 组件内(弹窗)需要对数据进行操作, 希望localData在每次打开弹窗的时候拿到data的值
上边的代码, 虽然实现了, 但是感觉不是最佳的写法

问题是: useState只能拿到第一次render时的props值, 后续data改变, 如果不setState修改state, props的值是不会更新到state上的

阅读 1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题