将数据从回调传递到 React 组件
Pass data from callback to React component?
我正在渲染一个需要异步返回数据的响应组件。当 react 组件从回调返回时,我应该如何将其传递给它?
目前在渲染函数中:
var dataToReturn;
asynchCall(args, function(err, results) {
dataToReturn = results;
})
return (
<MyComponent data={dataToReturn} />
)
这当然是行不通的,因为数据尚未返回。如果我将渲染移动到回调中,这似乎是一个糟糕的编程模式。React API 中是否有任何针对此用例的内容?
谢谢!
是的,就像@Fouad说的:
var NewComponent = React.createClass({
componentDidMount: function() {
asynchCall(args, function(err, results) {
this.setState({data: results});
}.bind(this));
},
return (
<MyComponent data={this.state.data} />
)
});
另外,请查看文档页面通过 AJAX 加载初始数据
你应该使用 this.state
& this.setState
而不是局部变量,这将触发重新渲染。查看此链接,了解如何从服务器获取 http://facebook.github.io/react/docs/tutorial.html#fetching-from-the-server
相关文章:
- React组件等待所需道具进行渲染
- React组件-设置页面标题
- 为react组件传递道具的最佳方式
- react组件中的绑定方法
- 加载服务器端渲染的React组件后执行脚本
- 如何基于依赖性导入React组件
- 可以't在我的React组件中加载图像
- jsx-React组件中的格式化编号
- 在进行服务器端渲染时,我可以向客户端发送React组件吗
- 使用jquery在react组件内部设置样式可以吗
- 为什么我不能将键映射到 React 组件上
- webpack样式加载器-在react组件上导入不同的样式,而无需重写
- 无法将react组件作为属性传递给另一个组件
- 继承React组件的正确方式
- 在JSX中围绕React组件封装高阶组件(HOC)
- 根据React组件的名称渲染该组件
- react组件的正确命名规范
- 在另一个文件夹中显示React组件
- AJAX 请求没有在我的 React 组件中设置 this.state.data
- 有没有一条清晰的路径,我可以实现一个在 ScalaJS + React 中广泛使用上下文的 React 组件