0
我當前正在嘗試通過箭頭函數傳遞信息,該函數在用戶選擇扁平列表中的一行時被調用。但是,我似乎無法弄清楚如何恰當地將數據傳遞到下一個屏幕。React-Native:通過FlatList選擇傳遞數據
我目前的實現可以在下面看到:
import ...
class ViewFollowingScreen extends Component {
constructor(props) {
super(props);
this.state = {
loading: false,
allUsers: [],
data: [],
page: 1,
seed: 1,
error: null,
refreshing: false
}
}
static navigationOptions = {...};
searchUsers(searchBarText) {...};
_onPressItem =() => {
/**
HOW DO YOU PASS THE INFORMATION OF THE SELECTED USER TO THE ViewUser SCREEN??
**/
this.props.navigation.navigate('ViewUser')//Needs to include user information
};
componentDidMount() {...};
makeRemoteRequest =() => {...};
renderSeparator =() => {...};
renderHeader =() => {...};
renderFooter =() => {...};
_renderItem = ({item}) => (
<TouchableOpacity onPress={this._onPressItem}>
<ListItem
roundAvatar
title={`${item.name.first[0].toUpperCase() + item.name.first.substr(1,item.name.first.length)} ${item.name.last[0].toUpperCase() + item.name.last.substr(1,item.name.last.length)}`}
subtitle={'Followers: 15' }
avatar={{ uri: item.picture.thumbnail }}
containerStyle={{borderBottomWidth: 0}}
/>
</TouchableOpacity>
);
render() {
return (
<ViewContainer>
<List containerStyle={{borderBottomWidth: 0, borderTopWidth: 0}}>
<FlatList
data={this.state.data}
renderItem={this._renderItem}
keyExtractor={(item) => item.email}
ItemSeparatorComponent={this.renderSeparator}
ListHeaderComponent={this.renderHeader}
ListFooterComponent={this.renderFooter}
/>
</List>
</ViewContainer>
);
}
}
module.exports = ViewFollowingScreen;
我目前能夠當用戶選擇在flatlist行導航到下一個畫面,但我似乎無法確切地弄清楚如何在兩者之間傳遞適當的數據。
請讓我知道如果你需要任何額外的信息。我很樂意編輯我的問題因此
任何幫助是極大的讚賞!
感謝您的回覆,我唯一的問題是如何從選定的用戶獲取信息到_onPressItem函數?我如何知道哪個用戶被選中? –
在您的_renderItem函數中,您可以獲取該項目,並且可以將此項目發送到onPressItem函數,以便獲取選定的用戶。你可以查看編輯答案的詳細:) –
我不能夠感謝你,這正是我正在尋找 –