我是React-native的新手,我从Udemy视频中学习。我关注视频,但由于反应原生版本的差异,事情发生了变化。
我的错误this.state
是undefined
。
无法读取未定义
的属性'newTodoText'
我使用react-redux
这是我的Main.js代码
constructor(props) {
super(props);
this.state = {
newTodoText: ""
};
}
addNewTodo(){
console.log(this.state); // undefined <------------
var newTodoText = this.state.newTodoText;
{/* var {newTodoText} = this.state; */}
if (newTodoText && newTodoText != "") {
this.setState({
newTodoText: ""
})
this.props.dispatch(addTodo(newTodoText));
}
}
这是我的render()
<TextInput
onChangeText={(text) => this.setState({newTodoText:text})}
value={this.state.newTodoText}
returnKeyType="done"
placeholder="New ToDo"
onSubmitEditing={this.addNewTodo}
underlineColorAndroid="transparent"
style={styles.input}
>
</TextInput>
答案 0 :(得分:2)
constructor(props) {
super(props);
this.addNewTodo = this.addNewTodo.bind(this); // Here is the key
...
}
答案 1 :(得分:1)
如果你有babel依赖变换类属性或启用stage-2预设,你也可以使用箭头功能。
# Get information about the scale set
$vmss = Get-AzureRmVmss `
-ResourceGroupName $ResourceGroup `
-VMScaleSetName $ScaleSet
Remove-AzureRmVmssExtension -VirtualMachineScaleSet $vmss -Name "customScript"
Update-AzureRmVmssInstance -ResourceGroupName $ResourceGroup -VMScaleSetName $scaleSetName -InstanceId "*"