在现有状态转换期间(例如在render中)无法更新。渲染方法应该纯粹是props和state的函数。

react uni的项目中,列表中引入了一个子组件modal,点击展示modal的时候就报这个错。

那么如何解决呢?set赋值操作需要在useEffect 中执行。

原代码:

const AddModal = (props) => {
  let initialValue = {...}
  const [form] = useForm()
  // 直接赋值报错
  form.setFieldsValue(initialValue)
}

解决后的代码:

const AddModal = (props) => {
  let initialValue = {...}
  const [form] = useForm()
  useEffect(() => {
    form.setFieldsValue(initialValue)
  }, [visible])
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐