可以打印出值,但在setState中为“未定义”

Art*_*rte 1 javascript reactjs

我有形式将其值发送给一个函数:

 _onChange(ev, option) {

    console.log(option.key)  // option.key = 3

    this.setState({ dropdownValue:option.key })  // option key = "undefined"
 }
Run Code Online (Sandbox Code Playgroud)

如您在上面看到的,我可以打印出该值,例如3。但是,当我尝试在之后直接将其添加到状态时,出现错误“无法设置未定义状态”。

我试图将值添加到变量,然后将其用于setState,但我仍然收到该错误。怎么来的?

我的onChange方法:

<ChoiceGroup
                            className="defaultChoiceGroup"
                            defaultSelectedKey="B"
                            options={[
                                {
                                    key: '1',
                                    text: 'test'
                                },
                                {
                                    key: '2',
                                    text: 'test2'
                                },
                                {
                                    key: '3',
                                    text: 'test3',

                                }
                            ]}
                            onChange={this._onChange }
                            label="Change password for..."
                            required={true}
                        />
Run Code Online (Sandbox Code Playgroud)

App*_*son 6

您确定“无法设置未定义状态”是您得到的确切错误吗?我假设这里this是未定义的,因为您的函数未绑定到this。要解决此问题,您可以手动将其绑定或使用箭头功能。我建议去一个箭头功能:

_onChange = (ev, option) => {
    console.log(option.key)  // option.key = 3

    this.setState({ dropdownValue:option.key })  // option key = "undefined"
}
Run Code Online (Sandbox Code Playgroud)