在我useState中,我有一些对象具有很多值。我动态地将其值输入和设置为useState [key],它可以正常工作。但是当我想要更新值时出现问题。当我调用onChange和{... prev,prev [key]:e.target.value}时,它不工作。
import { useGlobalContext } from '@/context';
import { useEffect } from 'react';
import styles from './Validation.module.css';
function ReusebleForm({fieldType,inputName}) {
const {generalInfo,setGeneralInfo} = useGlobalContext();
function displayInfo(e,iName) {
// this part does not work
setGeneralInfo({...generalInfo,...{generalInfo[`${iName}`]:e.target.value}});
}
useEffect(()=>{},[generalInfo])
return (
<input type={`${fieldType}`} required value={generalInfo[inputName]} name={inputName} onChange={(e) => displayInfo(e,inputName)} />
)
}
export default ReusebleForm
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
这就是国家
一个二个一个一个
1条答案
按热度按时间mnemlml81#
错误指出useState未定义。
尝试导入useState并按如上所示进行检查