У меня есть DeleteButton
, где я передаю метод onSubmit
:
<DeleteButton
size="tiny"
key="delete"
initialValues={this.props.initialValues}
onSubmit={this.props.dispatchUpdateVariantNote}
confirmDialog={this.props.deleteConfirm}
/>
onSubmit
функция dispatchUpdateVariantNote
определена в mapDispatchToProps
и выглядит следующим образом:
const mapDispatchToProps = (dispatch, ownProps) => ({
dispatchUpdateVariantNote: (updates) => {
dispatch(updateVariantNote({ ...updates, variant: ownProps.variant, familyGuid: ownProps.familyGuid }))
},
})
Внутри DeleteButton
У меня есть еще одна кнопка `DispatchRequestButton:
const DeleteButton = React.memo(({ initialValues, onSubmit, buttonText, size, ...props }) =>
<DispatchRequestButton
onSubmit={() => onSubmit({ ...initialValues, delete: true })}
buttonContent={buttonText}
icon="trash"
labelPosition={buttonText && 'right'}
size={size || 'small'}
{...props}
/>,
)
, которая получает функцию onSubmit
: onSubmit={() => onSubmit({ ...initialValues, delete: true })}
. Я убедился, что все это происходит при первой загрузке страницы: правильные функции присутствуют во всех этих компонентах. Когда внутри DispatchRequestButton
я вызываю onSubmit()
, результат будет undefined
, а не dispatchUpdateVariantNote
, как я ожидал. Почему это могло произойти?
Я использую следующие версии:
"react": "^16.12.0",
"redux": "^3.7.2",
и Chrome
браузер. Приложение запускается с локального сервера node.js
.