На мой взгляд, если я создам Z function в mapDispatchToProps с помощью dispatch
тогда я могу использовать Z function как this.props.Z function. Это правильно?
MainPage.js
import React, {Component} from 'react'
import ReactDOM from 'react-dom'
import {connect, Provider} from 'react-redux'
import store from '../../store'
import * as AlarmContentActions from '../../store/modules/AlarmContent'
class MainPage extends Component {
constructor(props) {
super(props)
}
showProps = () => {
console.info(this.props)
}
render() {
console.info(AlarmContentActions.increment())
console.info(this.props)
return(
<>
<button onClick = {this.showProps}>here it is</button>
</>
)
}
}
const mapDispatchToProps = (dispatch) => ({
increment: () => {
dispatch(AlarmContentActions.increment())
}
})
export default connect(null, mapDispatchToProps)(MainPage)
ReactDOM.render(
<Provider store = {store}>
<MainPage />
</Provider>, document.getElementById('main-page'))
AlarmContent.js(Структура Ducks включает в себя redux-действия и редукторы)
import {createAction, handleActions} from 'redux-actions'
const initialState = {
num: 0
}
//define action types
const INCREMENT = 'AlarmContent/INCREMENT';
//CREATE action
export const increment = createAction(INCREMENT);
//CREATE reducers
export default handleActions({
[INCREMENT] : (state, action) => {
return {
num : state.num + 1
}
}
}, initialState)
Я сделал функцию increment(), которая отправляет тип действия AlarmContentActions.increment() в MainPage.js, но props имеет значение null
Однако, когда я отправляю тип действия, который является AlarmContentActions.increment(), принудительно с помощью `redux-dev-tool ', все процедуры проходят хорошо
Я думаю, что отправка с помощью redux-dev-tool хорошо означает, что я хорошо справляюсь с redux store (action, reducers), верно?
Думаю, я правильно делаю mapDispatchToProps, не так ли?
Тогда что со мной не так?
Он подключен, но не используется в ReactDOM.render( <Provider store = {store}> <MainPage /> </Provider>, document.getElementById('main-page'))
@ShubhamKhatri большое спасибо !! это работает хорошо!!





@Shubham Khatri Я думаю, что
export default connect(null, mapDispatchToProps)(MainPage)- это подключенный компонент, не так ли?