(这里是reactjs新手)...
我正在使用Reactjs创建一个页面
现在,“ searchText”和“ data”是我的状态,我试图找出仅在从服务器接收到数据后才更新“结果”的方法。
我有一个事件,用户输入搜索文字时会处理
handleUserInput: function(searchText) {
this.loadDataFromServer(searchText);
this.setState({
searchText: searchText,
});
},
但是使用上述功能,会发生以下情况
结果已立即更新,仅显示包含搜索文本的结果(下面的代码),但同时向服务器发出请求以获取结果(其中包含搜索文本的结果)
this.props.products.forEach(function(product){if(product.name.toLowerCase()。indexOf(this.props.searchText)> -1){row = rows.push(row)}} .bind(this ));
大约一秒钟后,从服务器接收到新数据,并再次刷新结果。
显然我想做的是
实现此目标的正确方法是什么?
因此,这只是您要停止的第一次刷新,对吗?
如果一旦结果来自服务器,它已经在刷新,那么看来您所要做的只是在步骤3中不对客户端上的结果进行过滤-那么将首先生成相同的虚拟DOM,因此结果服务器响应后,list只会更新实际的DOM。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句