如何解决“然后”功能内的作用域问题?

时间:2019-07-02 08:13:36

标签: javascript reactjs ecmascript-6

我正在尝试从打印机中打印出来。我对JavaScript和JavaScript有点陌生。我试图将状态传递给第三方代码的功能。但是我遇到一个错误:

Cannot read property 'restaurant_name' of undefined

如何将state传递到then的{​​{1}}函数的范围内?

qz

2 个答案:

答案 0 :(得分:1)

您进行了一些不必要的破坏,从而导致了错误-this.state.state不存在,但此行:

let { state } = this.state;

等效于:

let state = this.state.state;

去掉花括号,它将正常工作。

let state = this.state;

还要注意,state是对this.state的引用,而不是另一个对象。

答案 1 :(得分:0)

按照箭头@Ali Torki的建议使用箭头功能将功能保持在较高范围:

.then(printer => {....})