每当我使用 setState 时,我的输入焦点就会丢失。
我哪里出错了,请告诉我。
我是 React 的新手。
这是我在这里使用的子组件 material-ui:-
const { onChangeEmail, onChangePassword, onPressSignIn, emailValue, passwordValue } = props;
<TextField
onChange={onChangeEmail}
value={emailValue}
variant="outlined"
id="email"
label="Enter your email"
name="email"
autoComplete="email"
/>
<TextField
onChange={onChangePassword}
value={passwordValue}
variant="outlined"
name="password"
label="Password"
type="password"
id="password"
autoComplete="current-password"
/>
我的父组件:-
const [state, setState] = useState({
email: "",
password: "",
})
<SigninForm
onChangeEmail={(evt) => {
setState({
...state,
email : evt.target.value
})
}}
emailValue={state.email}
passwordValue={state.password}
onChangePassword={(evt) => {
setState({
...state,
password : evt.target.value
})
}}
/>
谢谢!!!
答案 0 :(得分:1)
每次您输入时,您的 get_queried_object()
钩子触发器都会渲染 get_current_user_id()
,从而导致您失去焦点。您可以尝试 useState
更新焦点事件的状态,并且不要将值传递给输入