reactjs替换了用于弹性搜索的事件
reactjs displaced events for elasticsearch
我将一个ElasticSearch路由连接到我的ReactJS服务CodeService.js
。因此API get在输入字段中的每一个键命中时都会被调用。这很管用。当我记录这方面的每个阶段时,我可以在网络和控制台中看到新对象得到了很好的处理。
而不是在Order.jsx
上。我总是落后一个按键。当我点击例如0
时,我可以清楚地看到API被调用,它进入了CodeStore.js
,但在Order.jsx
中调用this.getCodeState().options
会提示:[]
,直到我点击第二个键时,我得到的是我以前的Store版本,而不是实际的版本。
我的假设是,我的视图在Store更新之前就已呈现。我如何针对这种行为
这是我的代码:
export default class Order extends React.Component {
constructor(props) {
super(props)
this.state = {
inputValue: '',
options: []
};
this.props = {
inputValue: '',
options: []
};
this._onChange = this._onChange.bind(this);
}
handleHint(){
return 'blahblahblha';
}
handleComplete(){
alert('complete!');
}
_onChange(event) {
var enteredChars = event.target.value;
this.setState({inputValue: enteredChars});
CodeService.nextCode(enteredChars);
}
getCodeState() {
return {
options: CodeStore.postcode
};
}
render() {
return (
<div className="newer">[...])}
我能够通过添加componentDidMount
和added和eventchangelistener来修复它。
componentDidMount() {
CodeStore.addChangeListener(this._onChange);
}
唯一需要考虑的是,您在_onChange
事件中需要一个条件,否则您将有一个无限循环
相关文章:
- 搜索日历事件的Javascript正则表达式
- Angular JS根据搜索结果和点击事件更新DOM元素
- JS在input标签上使用keyup事件进行搜索
- 谷歌地图 api v3 搜索多边形没有鼠标事件
- 当我单击chrome的输入类型=搜索元素上的X时,是否触发了任何事件
- 通过jQueryAJAX和keyup事件搜索特定的术语
- 尝试在“单击”或“聚焦”GCSE搜索表单输入时触发jquery事件
- 搜索诸如提交完成事件之类的内容以关闭加载程序
- 用硒填充和操作jqGrid的搜索小部件似乎不会触发DOM表单事件
- 单击输入类型=搜索时重置按钮的任何事件
- 检测 Youtube 搜索事件
- 将字体颜色添加到搜索框中的对焦事件
- 尝试取消反弹搜索函数调用会导致不会将任何事件传递给函数
- 传单地理搜索:从找到的地址返回纬度/液化天然气事件
- 搜索机器人或垃圾邮件机器人是否能够模拟/触发JavaScript事件
- 在点击事件中搜索DOM
- 以“搜索”按钮为目标的OnPress事件会触发整个页面的“提交”按钮
- 如何使用图形API查询公共facebook事件?[更新的搜索]
- 如何自定义自动完成搜索事件
- 异步搜索事件处理