【问题标题】:Setting Object State in Context在上下文中设置对象状态
【发布时间】:2020-08-13 15:07:57
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    问题应该解决了。

    【讨论】:

    • 太棒了!那效果很好。我非常接近:) 非常感谢
    • 没问题。是的,我也有一些问题想不明白如何设置状态对象。这有点棘手(也许反应应该简化......)。祝你有美好的一天:)
    猜你喜欢
    • 2017-10-22
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 2020-11-02
    • 2020-02-05
    • 2023-01-29
    相关资源
    最近更新 更多