【发布时间】:2018-02-20 16:32:11
【问题描述】:
所以我的 Reducer 是:
const initialState = {
1: {
id: '1',
user: 'User1',
text: 'Dummy Text id1',
SomeFiled: 'SomeValue',
},
2: {
id: '2',
user: 'User1',
text: 'Dummy Text id2',
SomeFiled: 'SomeValue',
},
3: {
id: '3',
user: 'User1',
text: 'Dummy Text id3',
SomeFiled: 'SomeValue',
},
4: {
id: '4',
user: 'User1',
text: 'Dummy Text id4',
SomeFiled: 'SomeValue',
},
5: {
id: '5',
user: 'User1',
text: 'Dummy Text id5',
SomeFiled: 'SomeValue',
}
}
我有 mapStateToProps 和 prop users 并且能够显示数据:
const renData = Object.keys(this.props.users).map((key, idx) => {
let user = this.props.users[key]
return(
<View key={idx} style={styles.myStyle}>
<Text style={styles.myStyleText}>
{ user.id } - { user.user } - { user.Text }
</Text>
</View>
)
});
我只想显示来自 Reducer 的 2 个对象。所以第一个(id: '1') 和第二个(id: '2') 但不是基于id,只有第一个2。然后有一个Button onPress 将加载更多的2 个值。如果还有更多值,按钮将显示,否则不显示。现在不担心按钮的显示。我想知道如何在减速器的渲染值中应用限制。
非常感谢。
【问题讨论】:
-
有一个变量来保存您要渲染的项目数,并像这样写
Object.keys(this.props.users).slice(0,2).map(......,代替 2 使用该变量。
标签: javascript reactjs react-native ecmascript-6 react-redux