React Native - TextInput warning and Undefined onPress



大家好,我有两个问题。

第一个是在我的文本输入中,我有一个"警告",我认为它需要一些字符串,所以我一开始在我的"值"中使用".toString((",它确实删除了警告,但当按下按钮时,我在文本输入中看不到任何类型的输出。

_incrementCount(index) {
this.setState({ ['count'+index]: this.state['count'+index] + 1 });
console.log(this.count);
alert(this.count);
}
_decreaseCount(index) {
this.setState({ ['count'+index]: this.state['count'+index] - 1 });
console.log(this.count);
alert(this.count);
}
changeTextHandler(text) {
this.setState({ ['count'+index]: text });
};
return (
<View>
<TextInput
onChangeText={ (text) => this.changeTextHandler(text) }
value={ this.state.count }      // value
/>
</View>
)

这是我的下一个问题。。

第二个在我的按钮中,我试图有一个数字的递增和递减,输出应该在文本输入中。但当我点击/点击我的按钮时,我的控制台上也会显示"未定义"的警报

<TouchableOpacity
onPress = {() => this._incrementCount(index)}>
<Text style = {styles.buttonText}> + </Text>
</TouchableOpacity>
<TextInput
onChangeText={ (text) => this.changeTextHandler(text) }
value={ this.state.count }
/>
<TouchableOpacity
onPress = {() => this._decreaseCount(index)}>
<Text style = {styles.buttonText}> - </Text>
</TouchableOpacity>

附言:因此我使用这些索引;React Native-平面列表单选

对于您的第一个问题,您没有看到任何内容,因为您将textInput的值设置为this.state.count,但您从未更改this.state.count,因为在onChange函数中,您正在设置计数+索引,因此结果将是您只更改count + index状态,而不更改计数状态。

对于您的第二个问题,由于您没有传递onPress函数,因此您将无法定义。您传递的索引永远不会设置(根据您提供的代码(。

最新更新