我想要做的是重複一個行項目,用戶將能夠更改線上的每個項目的數量。例如顯示值環內反應本機代碼已更改與onPress
- 蘇打............ - 1個+
- 麪包.. - 0 +
- 等... .......... ... - 3 +
到目前爲止我已經能夠更改值並記錄發生變化,但顯示的值不會改變。
下面是我到目前爲止
render() {
let pizzaSides = this.props.pizzaSidesArray.map((sidesObj) => {
sidesObj.count = 0;
遞減功能,減少項目的數量,但不低於0
decrement =() =>{
console.log('dec');
console.log(sidesObj);
if (sidesObj.count > 0) {
sidesObj.count--;
}
}
增量調用
increment =() =>{
console.log('inc');
console.log(sidesObj);
sidesObj.count++;
}
return (
<View
key={sidesObj.name}
style={{
paddingTop: 10,
flex: 1,
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'space-between'}}>
<View style={{flex:1.5,flexDirection: 'row'}}>
<TouchableHighlight
onPress={ decrement}
style={{flex:1}}>
<Text> - </Text>
</TouchableHighlight>
時增加了雖然可觸摸的精彩集錦記錄下更改以下文字不會改變
<Text style={{flex:1}}>
{sidesObj.count}
</Text>
<TouchableHighlight
onPress={ increment}
style={{flex:1}}>
<Text> + </Text>
</TouchableHighlight>
</View>
</View>
);
});
return (
<View>
{pizzaSides}
</View>
)
}
}
感謝您的幫助。 :D
安東尼感謝您的提示。也許我仍然錯過了一些東西。我更改了代碼以更新存儲在redux中的數組中的計數值,並更改了中的值以從存儲中訪問該值,但它仍不會更改從初始值顯示的值。 –
BJax
有趣的是現在,當我的文檔重新加載時,這些值將顯示出來。所以也許我需要觸發元素重新渲染。 – BJax
您能發送您用於設置的代碼和設置值的代碼嗎?在Redux中更改狀態時,它應該自行重新渲染。 –