React native 在上下文中设置对象状态

React native 在上下文中设置对象状态,react-native,react-context,react-native-state,React Native,React Context,React Native State,我是一个新的反应和反应的本地人,并试图了解一些事情。我希望有人能向我解释我做错了什么。我有一个对象,我试图用onChangeText设置自变量的值。该对象通过 const { data, updateUserDetails} = useContext(MembershipContext); 在表单字段中 <TextInput style={styles.inputStyle} placeholder="First Name" value={da

我是一个新的反应和反应的本地人,并试图了解一些事情。我希望有人能向我解释我做错了什么。我有一个对象,我试图用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: '',
});

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

再见,我想您的问题在于如何调用
setUserDetails
。尝试将其替换为:

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

问题应该解决。

太棒了!这很有效。我太接近了:)太感谢了,没问题。是的,我也有一些问题不明白如何设置状态对象。这有点棘手(也许反应应该简化…)。祝你今天愉快:)