Возникли проблемы при рендеринге компонента Notify (компонент уведомления, который запускается onClick) с использованием rematch: redux framework для построения хранилища из моделей.dispatch(createNotification(config))
запускается, но не обновляет состояние.Есть идеи почему?Я предполагаю, что каркас реванша не связывает notifyReducer правильно.В redux devtools вот что я получаю:
Действие:
ADD_NOTIFICATION // action being dispatched
type(pin): "ADD_NOTIFICATION"
notification:
message(pin): "THIS NOTIFICATION WORKS!"
type(pin): "SUCCESS"
duration(pin): 0
canDismiss(pin): true
icon: { ... }
id(pin): 1537900315811
Состояние:
Notifications: [] // not being updated when ADD_NOTIFICATIONS triggers
models / notifications.js
import notifyReducer from 'react-redux-notify'
export default {
state: [],
reducers: { notifyReducer },
}
store.js
import { init } from '@rematch/core'
import notifications as models from './models'
const store = init({ models })
export default store
Containers / ExampleComponentContainer.js
import { connect } from 'react-redux'
import { createNotification } from 'react-redux-notify'
import ExampleComponent from '../../components/ExampleComponent'
import store from '../../store'
const { dispatch } = store
const mapStateToProps = ({ notifications }) => ({ notifications })
const mapDispatchToProps = ({}) => ({
createNotification: config => {
dispatch(createNotification(config))
},
})
export default connect(
mapStateToProps,
mapDispatchToProps,
)(ExampleComponent)
Компоненты / ExampleComponent
import { Notify, NOTIFICATION_TYPE_SUCCESS } from 'react-redux-notify';
class ExampleComponent extends React.Component {
successNotification = {
message: 'IT WORKS!',
type: NOTIFICATION_TYPE_SUCCESS,
duration: 0,
canDismiss: true,
icon: <i className="fa fa-check" />
}
handleClick = () => {
const {createNotification} = this.props;
createNotification(mySuccessNotification);
}
render(){
return (
<div>
<Notify />
<button onClick={this.handleClick()}>Dispatch Notification!
</button>
</div>
)
}
}