0
我正在使用redux模式,但我不确定只是将1+的操作方法传递给哑组件。如何在ReactJs中传递函数?
现在在我的智能组件我有类似
<AddStorageItemButton {...this.props} />
但这种课程在经过的一切,我不希望这样。
我想是这样
<AddStorageItemButton test={()=>this.showAddStorageItemModal(this)} />
然后在我的部分我试图做
<a href="#"onClick={() => this.props.test(true) }> Add</a>
这里是我的功能。这里
export function showAddStorageItemModal(show) {
return function (dispatch) {
dispatch({ type: actions.SHOW_ADD_STORAGE_ITEM_MODAL, payload: show });
};
}
编辑更我的结构
import React from 'react';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import 'materialize-css/sass/materialize.scss';
import '../styles/main.scss';
import AddStorageItemButton from './AddStorageItemButton.js';
import { showAddStorageItemModal } from '../actions/StorageItemActions.js';
class App extends React.Component {
render() {
return (
<div>
<AddStorageItemButton {...this.props} test={this.props.showAddStorageItemModal(this)} />
</div>
);
}
}
function mapStateToProps(state) {
return {
// reducers
};
}
function matchDispatchToProps(dispatch) {
return bindActionCreators({
showAddStorageItemModal: showAddStorageItemModal,
}, dispatch);
}
export default connect(mapStateToProps, matchDispatchToProps)(App);