-1
我得到了一個反應組件,我想將redux集成到那個。所以,我必須參照正式文件: http://redux.js.org/docs/basics/UsageWithReact.htmlReact + Redux集成僅需要React.createClass嗎?
它似乎只允許connect()
功能只工作,爲React.createClass,這是否意味着我不能React.Components使用它呢?謝謝。
我得到了一個反應組件,我想將redux集成到那個。所以,我必須參照正式文件: http://redux.js.org/docs/basics/UsageWithReact.htmlReact + Redux集成僅需要React.createClass嗎?
它似乎只允許connect()
功能只工作,爲React.createClass,這是否意味着我不能React.Components使用它呢?謝謝。
它的工作方式完全相同。您只需將組件傳遞給它:
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)
鏈接是一個組件。
你有什麼錯誤?
我不知道如何讓'HelloWorld'調用'mapDispatchToProps'中的函數。 – DNB5brims
@ DNB5brims'mapDispatchToProps'和'mapStateToProps'中的所有內容都只是作爲道具傳入。我已經更新了這個例子 –