const REF_MAP = {};\n\nconst VersionConfiguration: React.FC = () => {\n // ...\n\n const columns: ProColumns[] = [\n // ...\n ];\n\n useEffect(() => {\n const data = [\n {\n nodeVersion: '1',\n testingItem: '全功能用例测试',\n head: '张三',\n caseLibraryName: '222',\n },\n {\n nodeVersion: '2',\n testingItem: '全功能用例测试',\n head: '张三',\n caseLibraryName: '111',\n },\n ];\n // formRef.current?.setFieldsValue({\n // dataSource: data.map((item: any) => ({ key: getOnlyKey(), ...item })),\n // });\n\n // 初始化 REF_MAP\n if (DEMAND_DICT.length > 0) {\n DEMAND_DICT.forEach((item) => {\n REF_MAP[item.value] = useRef(null);\n });\n }\n }, []);\n\n return (\n // ...\n );\n}\n\n新增的时候报这个错误·×\nTypeError: Cannot read property 'current' of undefined\n\n这个错误是因为在初始化REF_MAP时,DEMADN_DICT为空数组导致的。请确保DEMADN_DICT不为空,或者在使用REF_MAP之前进行判断。你可以修改代码如下:\n\njavascript\nconst VersionConfiguration: React.FC = () => {\n // ...\n\n const columns: ProColumns[] = [\n // ...\n ];\n\n useEffect(() => {\n const data = [\n {\n nodeVersion: '1',\n testingItem: '全功能用例测试',\n head: '张三',\n caseLibraryName: '222',\n },\n {\n nodeVersion: '2',\n testingItem: '全功能用例测试',\n head: '张三',\n caseLibraryName: '111',\n },\n ];\n // formRef.current?.setFieldsValue({\n // dataSource: data.map((item: any) => ({ key: getOnlyKey(), ...item })),\n // });\n\n // 初始化 REF_MAP\n if (DEMAND_DICT.length > 0) {\n DEMAND_DICT.forEach((item) => {\n REF_MAP[item.value] = useRef<ActionType>(null);\n });\n }\n }, []);\n\n return (\n // ...\n );\n}\n\n\n这样,在DEMADN_DICT为空时,就不会执行初始化REF_MAP的代码,避免了出现错误。

React 中 TypeError: Cannot read property 'current' of undefined 错误解决方法

原文地址: https://www.cveoy.top/t/topic/qfWJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录