お世話になっております。
FirebaseのReal Time Databaseを使用していたのですが、今回Cloud Firestoreに乗り換えようと試みているのですが、取得の部分でなぜか配列を取得できずに困っています。
エラー
Real Time Databseで使っていたときのように、配列で取得してitemsを並べて表示したい。
しかし、現在のコードではitemが一つずつ取得されてきて、itemsの中にあるすべてのデータを並べることができません。
ソースコード
Home.js
JavaScript
1class Home extends Component { 2 componentWillMount() { 3 this.props.itemsFetch(); 4 } 5 6 render() { 7 console.log('items:', this.props.items); 8 return ( 9 <View> 10 {this.props.items.map((item, index) => ( 11 <CardSection key={index}> 12 <Text numberOfLines={1} style={styles.cardtitle}>{item.amount}</Text> 13 <Text numberOfLines={1} style={styles.cardtitle}>{item.text}</Text> 14 </CardSection> 15 ))} 16 </View> 17 ); 18 } 19} 20 21const mapStateToProps = (state) => { 22 const items = _.orderBy(state.items, ['id'], ['desc']); 23 24 return { items }; 25}; 26 27export default connect(mapStateToProps, { 28 itemsFetch 29})(Home);
redux/itemActions.js
JavaScript
1export const itemsFetch = () => { 2 return (dispatch) => { 3 firebase.firestore().collection('items').get() 4 .then((snapshot) => { 5 snapshot.forEach((doc) => { 6 console.log(doc.id, '=>', doc.data()); 7 dispatch({ type: ITEMS_FETCH_SUCCESS, payload: doc.data() }); 8 }); 9 }) 10 }; 11};
ここに入っているitemsを並べて表示したいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/09 12:18