我的代码中有一个这样的数组
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>
)
}
我的新属性没有被添加到对象中。