Я недавно научился перекомпоновывать за последние несколько дней и делаю CRUD
Message.js
const Message = ({mssg}) => {
return (
<div>
<p>
{mssg}
</p>
</div>
)
}
const mapStateToProps = (state) => ({mssg: state.message})
export default compose(
connect(
mapStateToProps
)
)(Message)
AddTask.js
const mapDispatchToProps = (dispatch) => ({
onAdd: task => {
dispatch(actions.add(task))
},
changeMssg: mssg => {
dispatch(actions.changeMessage(mssg))
}
})
export default compose(
connect(
null,
mapDispatchToProps
),
withStateHandlers(
{
task: ''
},
{
handleOnChange: () => event => {
let mergeState = {
[event.target.id]: event.target.value
}
return mergeState
},
handleOnAdd: (state, {onAdd, changeMssg}) => {
onAdd(state)
changeMssg(messages.MSSG_ADD)
}
}
)
)(AddTask)
В AddTaskкомпонент, после добавления задачи сообщение будет изменено.Но я получил ошибку
Recompose.esm.js:385 Uncaught TypeError: Cannot read property 'apply' of undefined
at WithStateHandlers.<anonymous> (Recompose.esm.js:385)
Может кто-нибудь объяснить мне, почему и, пожалуйста, помогите мне из этого?