Javascript react useState hook变量值don';输入onChange事件上的t更新

Javascript react useState hook变量值don';输入onChange事件上的t更新,javascript,reactjs,Javascript,Reactjs,react useState钩子不会使用react功能组件更新input onChange事件 const [email, setEmail] = useState(""); // i'm not able to set input value in useeffect using this code <GridItem xs={12} sm={12} md={4}> <CustomInput labelText="Email address" id="em

react useState钩子不会使用react功能组件更新input onChange事件

const [email, setEmail] = useState("");
// i'm not able to set input value in useeffect using this code
<GridItem xs={12} sm={12} md={4}>
  <CustomInput
    labelText="Email address"
    id="email-address"
    formControlProps={{
      fullWidth: true
    }}

    value={email}
    onChange={evt => setEmail(evt.target.value)}
  />
</GridItem>
const[email,setEmail]=useState(“”);
//我无法使用此代码在useeffect中设置输入值
setEmail(evt.target.value)}
/>

您的职能在哪里

onChange={e => this.setEmail(e)} // use arrow function to bind this

setEmail = (e) => {
  yourSetFunction({[e.target.name]:e.target.value}) // assuming you give you input a name
}
App.js

函数应用程序(){
const[email,setEmail]=React.useState(“”);
常量handleChange=e=>{
setEmail(例如target.value);
};
返回(
{email}
);
}
CustomInput.js

import React from "react";

function CustomInput(props) {
  return (
    <div>
      <input type="text" onChange={props.handleChange} />
    </div>
  );
}

export default CustomInput;
从“React”导入React;
功能自定义输入(道具){
返回(
);
}
导出默认自定义输入;
const[email,setEmail]=useState(null);
常数handleChange=(e)=>{
setEmail(例如target.value);
}
//我无法使用此代码在useeffect中设置输入值

您的“CustomInput”的代码(尤其是“onChange”部分)是什么样子的?你在这里提供的代码对我来说很好。自定义组件不会以本机方式继承eventListeners,因此我猜问题出在该组件中,而不是您可以粘贴
CustomInput
组件的所有代码吗?我使用的是material ui主题,我想使用axios存储数据,但useState不设置输入值,这是我的code@rinkalsatasiya在这里不使用onChange。内用CustomInput@rinkalsatasiya检查这个例子,希望它能帮助你
import React from "react";

function CustomInput(props) {
  return (
    <div>
      <input type="text" onChange={props.handleChange} />
    </div>
  );
}

export default CustomInput;
const [email, setEmail] = useState(null);
const handleChange = (e) => {
  setEmail(e.target.value);
}
// i'm not able to set input value in useeffect using this code
<GridItem xs={12} sm={12} md={4}>
  <CustomInput
    labelText="Email address"
    id="email-address"
    formControlProps={{
      fullWidth: true
    }}

    value={email}
    onChange={handleChange}
  />
</GridItem>