无法向对象添加属性

时间:2021-07-15 08:37:05

标签: javascript reactjs react-native

我的代码中有一个这样的数组

  let contactUsers = [
    ...this.state.selectedContacts.users.filter(
      c =>
        -1 ===
        this.props.userSearch.findIndex(u => u.Username === c.Username),
    ),
    ...this.props.userSearch,
  ]

userSearch 来自 redux 状态(我使用的是 redux 工具包)

我这样称呼我的组件

<TeacherContactSelectorTabs
  screenProps={{
    contactUsers: contactUsers,
 }}
/>

然后我有这样的标签

const Tab = createMaterialTopTabNavigator()

const ContactSelectorTabs = (params: any) => {
  return (
    <Tab.Navigator
      initialRouteName="SearchByGroup"
      tabBarPosition="top"
    >
      <Tab.Screen
        name="SearchByUser"
        children={() => <SearchByUser {...params} />}
        options={{
          tabBarLabel: 'Personer',
          title: 'Personer',
          tabBarAccessibilityLabel: 'Personer',
          tabBarTestID: 'Personer',
        }}
      />
    </Tab.Navigator>
  )
}

在我的 UserSearch 组件中,我有这样的代码

 var { contactUsers } = this.props.screenProps

{this._renderContactList(contactUsers || [], userSearching)}

_renderContactList(contactUsers, searching, test) {
    return (
      <FlatList
        ref={component => (this.contactList = component)}
        style={styles.listContainer}
        removeClippedSubviews={false}
        initialNumToRender={10}
        onRefresh={() => this.props.screenProps.onUserSearch(this.state.search)}
        refreshing={searching}
        data={contactUsers}
        keyExtractor={c => c.Username}
        renderItem={this._renderItem}
      />
    )
  }



 _renderItem = ({ item, index }) => {
    let c = item
    console.log(c)

    c.test = '11' // this is not being added to the object

    console.log(c)

    return (
      <View>
        <Text>Hi</Text>
      </View>
    )
}

我的新属性没有被添加到对象中。

0 个答案:

没有答案