打扰一下Reactjs菜鸟。 我有以下标记,效果很好。
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
onFilter在这里定义为一个函数:
...
render() {
return (
<UnitsFilter
onChange={this.props.onFilter}
...
并且:
...
App.propTypes = {
onFilter: PropTypes.func.isRequired,
...
现在,我需要重新安排,以便在onChange事件上运行两个函数,我将其包装在...
const mapDispatchToProps = {
onFilter: (id, type) => filterUnits(id, type),
...
中,如下所示:
handleChange
foo函数起作用,但是现在onFilter已损坏。没有错误,没有任何反应。我究竟做错了什么?感谢帮助。
答案 0 :(得分:0)
您没有从handleChange函数将id
和type
属性传递给onFilter
函数。您可能需要写
handleChange(id, type) {
this.foo();
const { onFilter } = this.props;
onFilter(id, type);
}