Реагировать на проблему повторных матчей - PullRequest
0 голосов
/ 25 сентября 2018

Возникли проблемы при рендеринге компонента 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>
    )
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...