我有一个反应组件,我想将redux与它集成。所以我参考了官方文件: http://redux.js.org/docs/basics/UsageWithReact.html
似乎它只允许connect()
函数仅适用于React.createClass,这是否意味着我无法在React.Components中使用它?谢谢。
答案 0 :(得分:4)
它的工作方式完全相同。您只需将组件传递给它:
const mapDispatchToProps = (dispatch) => {
return {
onClick: () => dispatch(someFunc)
}
}
const HelloWorld = ({ onClick }) => <div onClick={onClick}>Hello World</div>;
connect(null, mapDispatchToProps)(HelloWorld);
在您提供的链接上有一个例子。
import { connect } from 'react-redux'
import { setVisibilityFilter } from '../actions'
import Link from '../components/Link'
const mapStateToProps = (state, ownProps) => {
return {
active: ownProps.filter === state.visibilityFilter
}
}
const mapDispatchToProps = (dispatch, ownProps) => {
return {
onClick: () => {
dispatch(setVisibilityFilter(ownProps.filter))
}
}
}
const FilterLink = connect(
mapStateToProps,
mapDispatchToProps
)(Link)
链接是一个组件。
你得到什么错误?