首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从选择器更新useState钩子中的单个项

从选择器更新useState钩子中的单个项
EN

Stack Overflow用户
提问于 2020-12-16 19:12:03
回答 2查看 83关注 0票数 0

所以我有一个从react-native-dropdown-picker进口的react-native-dropdown-picker

我想以映射状态更新单个项目:

代码语言:javascript
复制
const [currentUser, setCurrentUser] = useState({Country: '', Name: ''});

挑选者代码是:

代码语言:javascript
复制
<DropDownPicker items={[    //JSON import
                                        {label: 'USA'},
                                        {label: 'India'},
                                        {label: 'Germany'},
                                        {label: 'France'},
                                        {label: 'Israel'},
                                    ]}
                placeholder="Country"
                containerStyle={styles.pickerHeight}
                style={styles.picker}
                dropDownStyle={styles.pickerDrop}
                onChangeItem = {(item) => {
                    // ------------------- here I want to update 'Country'
                }}
            />

我尝试过:setCurrentUser({Country: item.label}),但很明显,它会导致Name属性被删除。

在不丢失数据的情况下更新状态中的单个项的正确方法是什么?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-16 19:39:24

您可以使用spread操作符首先获取当前用户的数据,然后简单地覆盖国家:setCurrentUser(currentUser => ({ ...currentUser, Country: item.label }))

票数 1
EN

Stack Overflow用户

发布于 2020-12-16 19:47:46

试试这个:

代码语言:javascript
复制
setCurrentUser(prevState => {
    return {
        ...prevState,
        Country: <new_country>
    }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65329697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档