我正在使用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>中呈现它.
