我应该如何从AJAX调用更新组件和非组件?

时间:2017-07-26 08:14:01

标签: ajax reactjs

很抱歉,如果问题令人困惑,但我刚刚开始使用React。基本上,我希望开始向现有网站添加单个组件。目前,当页面加载时,有几个AJAX请求使用jQuery更新页面的不同部分。

例如,我发出一个每30秒调用一次的AJAX请求来获取AccountInfo,当它返回响应时,我更新了页面的两个独立部分,让我们称之为AccountPanel和SideBar。

问题#1

如果我要为AccountPanel创建一个组件,我应该在组件安装时发出AJAX请求并继续使用jQuery来更新那里的SideBar吗?

问题#2

或者为两者创建组件并将AJAX响应作为道具传递更好吗?

ReactDOM.render(<AccountPanel  />, document.getElementById('accountPanel'));
ReactDOM.render(<SideBar />, document.getElementById('sideBar'));

感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

实际上,我认为你需要一些状态容器。在所有组件之间共享状态(在您的情况下为AccountInfo)。

就个人而言,我建议使用Redux。因为这个容器是完全可以预测的。

结果你的代码如下:

//create redux store somehow

ReactDOM.render(<AccountPanel  store = {resuxStore}/>, document.getElementById('accountPanel'));
ReactDOM.render(<SideBar  store = {resuxStore}/>, document.getElementById('sideBar'));