将数组合并为一个状态react-native

时间:2017-11-12 21:32:43

标签: arrays reactjs react-native

我已经尝试了很多东西来实现这个目标。

我的构造函数中有以下2个统计信息:

constructor(props) {
super(props);
 this.state = {
   newArray: [],
   dataStorage: [],
 };
}

然后我有一个函数来处理TextInputs中的参数。我正在创建一个新数组来添加数据,然后我想将它添加到现有数组中。

submitHandler(inputValue, inputIdentifier) {
 console.log('inside the submitHandler');

 var newArray = [];
 newArray.push({
  value: inputValue,
  identificer: inputIdentifier.item
 });
 this.setState({newArray: newArray})

 let dataStorage = [this.state.newArray, ...this.state.dictionaryForAddedItems]

 this.setState({dataStorage: dataStorage})

  console.log('her is was inside the newArray' + JSON.stringify(newArray));
  console.log('her is was inside the state.dictionaryForAddedItems' + JSON.stringify(this.state.dataStorage));

我的日志就是这样: Log in debug looks like this

1 个答案:

答案 0 :(得分:2)

您没有确切地提到您面临的问题,但如果我理解正确,您就不会在security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN providers: fos_userbundle: id: fos_user.user_provider.username_email firewalls: main: pattern: ^/ form_login: provider: fos_userbundle logout: true anonymous: true access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: "%router.request_context.scheme%" } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/admin/, role: ROLE_ADMIN, requires_channel: "%router.request_context.scheme%" } 中看到更新后的状态。

如果是这种情况,您应该知道console.log是异步的 您可以使用setState的第二个参数,它是一个回调函数。

setState

以下是您的代码的固定版本(您也可以拨打setState({myKey:myVal}, () => {console.log(this.state.myKey)}) 一次,使用2个密钥而不是两个密码):

setState