在上下文中设置对象状态

时间:2020-08-13 15:07:57

标签: react-native react-context react-native-state

我是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: '',
});

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

1 个答案:

答案 0 :(得分:1)

Ciao,我认为您的问题在于您如何呼叫setUserDetails。尝试将其替换为:

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

应该解决问题。