React Native,从对象或数组构造初始状态值

Posted

技术标签:

【中文标题】React Native,从对象或数组构造初始状态值【英文标题】:React Native, construct initial state values from a object or array 【发布时间】:2020-06-30 21:06:24 【问题描述】:

是否可以在从数组或对象传递给该组件的构造函数中创建状态。

以下是要实现的目标:

constructor(props) 
    super(props);
    this.state= 
        Object.keys(this.props.data).map((key, i) => 
            [key]: 'boo',
        )
    

但它返回一个语法错误。

这个想法是this.props.data 中的数据创建了一系列状态。传递给this.props.data的数据事先并不被组件知道,而是在组件使用时作为prop传递给它。

【问题讨论】:

【参考方案1】:

你可以直接声明this.state,返回map数组

更新

constructor(props) 
    super(props);
    this.mapData = Object.keys(this.props.data).map((key, i) =>([key]: 'boo'))
    this.state = this.pre_state ? Object.assign(, ...this.pre_state) : ;

【讨论】:

但是,状态不可访问。调用 this.state.WhateverTheKeyWas 返回未定义。 对不起。 this.state 只接受作为对象。我刚刚更新了我的答案。您可以使用Object.assign 为对象.sample 创建数组,例如codesandbox.io/s/staging-cdn-pr6td

以上是关于React Native,从对象或数组构造初始状态值的主要内容,如果未能解决你的问题,请参考以下文章

如何映射一组对象,删除一个并将我的状态设置为 react-native 中的新数组?

在 react-native-debugger 中配置 redux 存储的初始状态?

保存 TextInput 数组的状态 - React Native

在 React Native 中更新嵌套状态对象?

将按下的项目插入到 react-native 的数组中

如何在 react native 中使用选择器从 redux 状态设置 usestate 的初始值?