我有一个组件DeckListView,我在使用redux更新状态后导航到该组件。当我在chrome中使用调试器时,我可以看到this.props.Decks.map((deck)循环成功通过一个数据列表,但是当我看到屏幕时我没有看到其他文本。任何想法是什么可能会发生什么?
我有我认为是下面的关键代码片段。其余的可以在https://github.com/wcwcaseman/mobile-flashcards找到
减速器
case ADD_DECK :
return {
...state,
[action.deck.title]:action.deck,
}
导航
homePage = () => {
this.props.navigation.navigate('DeckListView');
}
实际页面
import React, { Component } from 'react';
import { View, Text} from 'react-native';
import { connect } from 'react-redux'
class DeckListView extends Component {
render() {
return (
<View>
<Text>Toast the world</Text>
{this.props.Decks.map((deck) => {
<Text key={deck} >item</Text>
})}
</View>
);
}
}
function mapStateToProps ({ decks }) {
let Decks = [];
if(decks !== {} && decks !== null)
{
Decks = Object.keys(decks);
}
return {
Decks: Decks
}
}
export default connect(mapStateToProps)(DeckListView)
您需要从map函数返回
{this.props.Decks.map((deck) => {
return <Text key={deck} >item</Text>
})}