react 组件传参不能获取最新的问题

react 组件传参问题

            • 父组件对子组件传输数据使用表单的时候遇到的一个问题,子组件二次编辑表单的数据id是上次传输数据的id,不是最新传入数据id,以下是我解决的方法:

父组件对子组件传输数据使用表单的时候遇到的一个问题,子组件二次编辑表单的数据id是上次传输数据的id,不是最新传入数据id,以下是我解决的方法:
import React, {
      useRef } from "react";
const RolesManagerForm: React.FC<Components> = (props: Components) => {
     
	const {
      formVisible, mode, formData } = props;
	const formRef = useRef(formData);
	// 强制触发更新
	useEffect(() => {
     
        formRef.current = formData;
        return (): void => {
     
            formRef.current = null;
        };
    }, [formData]);
    const submit = (): void => {
     
    	// 获取最新
    	console.log(formRef.current.id)
	}
}
export default RolesManagerForm;

注释:在react的对应的运行周期中,表单读取数据的周期有的情况会比父组件传入得早,
所以有了表单提交不是最新id的问题。

你可能感兴趣的:(记录开发遇到的坑,react,js,ants)