setState 开始在 React.js 中递归工作
setState start to work recursively in React.js
我开始使用 react.js 并创建一个组件 Box,state = {pageNumber: 1, dataForTable:''}
。我在其中插入了两个组件 - 分页和表。当单击分页时,它会为Box提供页码。框状态更改,然后呈现,然后分页渲染。然后我将ajax设置为服务器,获取表的新数据,然后第二次进行Box渲染以渲染Tables
。
我应该将 ajax 逻辑放在哪个函数中?当我把它放在componentDidUpdate
setState开始递归工作时。
将来会有更多的组件在<Box/ >
这将改变<Tables />
。
据我了解,这是您的设置:
var React = require('react');
var ComponentBox = React.createClass({
render: function() {
return (
<div>
<Table />
<Pagination />
</div>
);
}
});
module.exports = ComponentBox;
- 表组件永远不应该处理数据,你应该将数据"馈送"到组件。所以你应该有一个在表组件中接收数据的 prop。
- 分页组件应该将一个事件传递给 ComponentBox,告诉 ComponentBox 获取数据 - 所以 ajax 应该发生在你的 ComponentBox 中(如果你愿意,请阅读更多关于 flux 的信息)
这是为您推荐的解决方案
var React = require('react');
var ComponentBox = React.createClass({
handlePageChange: function(startIndex, size) {
// do your ajax here
// set your data to state which causes re-render
},
render: function() {
return (
<div>
<Table data={this.state.tableData} />
<Pagination onPageChange={this.handlePageChange} />
</div>
);
}
});
module.exports = ComponentBox;
在您的分页组件中,请记住通过 props on PageChange 传递信息=)
希望这对你来说足够清楚。
相关文章:
- 为什么递归生成器函数没有't在ES2015工作
- 循环内部的递归函数未按预期工作
- jQuery.fadeIn()和.fadeOut()回调在将代码重写为递归回调后无法正常工作
- YUI事件don'似乎不能递归地工作
- JavaScript:递归函数不能正常工作
- setState 开始在 React.js 中递归工作
- 这个递归函数是如何工作的
- 递归无法正常工作
- 这种递归是如何工作的并获得这种输出的
- 递归函数无法正常工作
- 如何"递归AJAX回调”;在JavaScript工作中
- 如何修复ng-click-dons'不能在递归指令模板中工作
- 解释递归在确定二叉树深度的算法中是如何工作的
- NaN消息,即使在递归函数中所有的Javascript工作似乎都很好
- Ajax递归函数工作奇怪
- 这个递归是如何工作的
- 递归函数不能工作
- 有人能给我解释一下如何将这个递归函数添加到自己的工作中吗?
- 递归调用jquery后,控件无法工作
- JS递归代码不能正常工作