2017-02-22 64 views

回答

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) 

鏈接是一個組件。

你有什麼錯誤?

+0

我不知道如何讓'HelloWorld'調用'mapDispatchToProps'中的函數。 – DNB5brims

+0

@ DNB5brims'mapDispatchToProps'和'mapStateToProps'中的所有內容都只是作爲道具傳入。我已經更新了這個例子 –