输入失去对 setState React 的关注

时间:2021-03-24 19:18:11

标签: javascript reactjs react-native

每当我使用 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
                                })
                            }}
                        />

谢谢!!!

1 个答案:

答案 0 :(得分:1)

每次您输入时,您的 get_queried_object() 钩子触发器都会渲染 get_current_user_id(),从而导致您失去焦点。您可以尝试 useState 更新焦点事件的状态,并且不要将值传递给输入