javascript 动态更新useState对象中的状态时出现问题

iecba09b  于 2023-02-07  发布在  Java
关注(0)|答案(1)|浏览(175)

在我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>

这就是国家
一个二个一个一个

mnemlml8

mnemlml81#

错误指出useState未定义。

import { useEffect,useState } from 'react';

尝试导入useState并按如上所示进行检查

相关问题