查看react-ashync-poll的文档,我遵循用法示例将asyncPoll
集成到我的组件中,但是我在onPollinterval
函数中收到Uncaught TypeError: dispatch is not a function
投诉
import React, { Component } from 'react';
import { connect } from 'react-redux';
import asyncPoll from 'react-async-poll';
import { fetchCaCities, } from '../actions';
import MyMap from './my-map';
class CaliforniaMap extends Component {
componentDidMount() {
this.props.fetchCaCities();
}
render() {
return (
<div>
<h1>California Map</h1>
<MyMap center={[37.5, -120]} zoom={6} layers={[this.props.caCities]} />
</div>
);
}
}
const onPollInterval = (props, dispatch) => {
console.log(dispatch); // undefined
return dispatch(fetchCaCities());
};
const mapStateToProps = state => ({
caCities: state.map.california.caCities,
});
export default asyncPoll(60 * 1000, onPollInterval)(connect(
mapStateToProps, { fetchCaCities }
)(CaliforniaMap)
也许react-async-poll
不适用于连接的组件?
根据文档:
dispatch参数仅传递给[Interval] 在道具中可用,否则将不确定。
他们给出的示例令人困惑,因为它在任何地方都不能定义dispatch
,但是它们使用它显示onPollInterval
。