我正在使用React Native 0.49.我有从firebase获取的数据,用户列表用户/,此列表中的每个项目都设置为此firebase. database().ref(‘users /’userId).set(userInfo)userId是currentUser的uid. 现在我回来了(在act
现在我回来了(在actions – redux中):
export function getPeople(){ return (dispatch) => { dispatch(getPeopleRequest()); getData().then(result => { dispatch(getPeopleSuccess(result.val())) }) .catch(error => { dispatch(getPeopleFailure(error)) }); } } const getData = () => { const userRef = firebase.database().ref('users/').limitToFirst(20); return userRef.once('value'); }
在组件中,我试图在FlatList中渲染数据,但它没有渲染任何东西,我不知道我做错了什么:
componentDidMount(){ this.props.getPeople(); } _renderItem = ({ item }) => ( <View style={{flex: 1}}> <Text>{item}</Text> </View> ); render(){ const { inProgress, people, error } = this.props.peopleData; return ( <FlatList data={people} renderItem={this._renderItem} /> ); }
当控制台记录人员时,这是结果:
{cpycwkz7exVBzmhaLEtHjMW66wn1:{…},UbIITfUANmb63cYE2x7dZRZ0pfK2:{…}}
render(){ const { inProgress, people, error } = this.props.peopleData; let ArrayOfPeopleObject = Object.values(people) return ( <FlatList data={ArrayOfPeopleObject} renderItem={this._renderItem} /> ); }
现在_renderItem方法中的每个项都是一个对象,您可以从任何键中提取值并在< Text>中呈现它.