【发布时间】:2015-10-27 17:09:21
【问题描述】:
我是 ES6 的新手,并且仍在尝试掌握新规范的概念,我目前正在研究 React 中的一个组件,我需要在其中进行 ajax 调用并将此响应存储在一个对象中。然后使用这个对象来映射必要的元素
我的组件如下所示
export class App extends Component {
search(){
//make ajax call
response = obj.responseText;
}
getValues(){}
render(){
let result = response.data.map(this.getValues);
return(
<div onKeyDown={this.search.bind(this)}>{result}</div>
)
}
}
如何在全局范围内声明从 ajax 调用“obj.responseText”获取数据的“response”变量?
【问题讨论】:
-
constructor(){this.response = null;}在这之后你把你的价值放在search(){ this.response = obj.responseText; }也许? -
你不需要一个全局变量,你只需要一个实例属性。
-
你能告诉我们你是如何在 ES5 中做到这一点的吗?顺便说一句,ajax 是异步的,所以要考虑到这一点。
-
@Bergi search(){} 是处理 ajax 的函数,它将附加到元素之一上的事件处理程序
-
你绝对应该先阅读更多关于 React 的内容:facebook.github.io/react/docs/thinking-in-react.html。
标签: javascript reactjs ecmascript-6