【发布时间】:2016-06-16 02:29:06
【问题描述】:
场景:自动完成
- HTML
input-element 的值被转移到 redux-state。 - 这个 redux-state 定义了一个使用 tracker 注入的查询(如下图所示)。
- 查询结果显示为自动完成选项。
问题:input-value 更改时组件未重新加载
当input-值发生变化时,如何重新加载组件?
代码片段
const AutoComplete = (props) => {
let handleChange = (event) => {
props.setSearchQuery(event.target.value);
};
return (
<div>
<input
type="text"
onChange={(event) => handleChange(event)}
/>
</div>
);
};
export default connect(
(state) => ({
searchQuery: selectors.getSearchQuery(state)
}),
(dispatch) => ({
setSearchQuery: (queryString) => dispatch(actions.setSearchQuery(queryString))
})
)(
composeWithTracker(
(props, onDate) => {
const searchResults = props.searchFunction(props.searchQuery);
onDate(null, {searchResults});
}
)(AutoComplete)
);
【问题讨论】:
标签: reactjs redux react-redux meteor-tracker