0

我是 React 和 React Native 的新手,我正在尝试理解一些事情。我希望有人可以向我解释我在这里做错了什么。我有一个对象,我试图用 onChangeText 设置自变量的值。该对象通过

const { data, updateUserDetails} = useContext(MembershipContext);

在表单域中

<TextInput
    style={styles.inputStyle}
    placeholder="First Name"
    value={data.userDetails.fname}
    onChangeText={(val) => updateUserDetails('fname', val)}
/>

并且在上下文文件中

const updateUserDetails = (field, val) => {
    setUserDetails([
        ...userDetails.field, val
    ]);
};

我正在尝试更新此状态

const [userDetails, setUserDetails] = useState({
    fname: '',
    lname: '',
    address: '',
    city: '',
    state: '',
    zip: '',
    email: '',
    phone: '',
    password: '',
});

我希望这足以分析。任何帮助,将不胜感激

4

1 回答 1

1

Ciao,我认为你的问题在于你如何打电话setUserDetails。尝试将其替换为:

const updateUserDetails = (field, val) => {
    setUserDetails({
        ...userDetails, [field]: val
    });
};

并且问题应该得到解决。

于 2020-08-13T15:16:47.617 回答