Я хочу сохранить значение поля ввода с помощью handeleSubmit , для этого я дал фрагмент кода в моей форме:
const MessageForm = ({ handleSubmit, onSubmit }) => (
<section className="form-container register-model-form">
<form className="message-form" onSubmit={handleSubmit(onSubmit)}>
<Input
label="Write a message..."
name="message"
type="text"
/>
при реализации моего кода для handleSubmit я получаю сообщение об ошибке: Невозможно прочитать свойство 'type' из неопределенного
import React from 'react';
import {connect} from 'react-redux';
import SubMenu from './SubMenu';
import MessageForm from './form/MessageForm';
import * as action from '../../actions/messages.actions';
import { sendNewMessage } from '../../actions/messages.actions'
class Messages extends React.PureComponent {
handleSubmit = (e) => {
this.props.sendNewMessage();
} ;
render() {
return (
<section className="page-notifications">
<SubMenu/>
<MessageForm onSubmit={this.handleSubmit}/>
</section>
)
}
}
const mapDispatchToProps = dispatch => ({
sendNewMessage: () => dispatch(action.sendNewMessage()),
});
export default connect(null,mapDispatchToProps)(Messages)
Я хочу сохранить значение в виде массива, для этого я написал свой код для редуктора:
const messages = (state = [], action) => {
switch (action.type) {
case "ADD_MESSAGE":
return state.concat([{
message: action.payload.message,
author: action.payload.author,
id: action.payload.id,
}]);
case "MESSAGE_RECEIVED":
return state.concat([{
message: action.payload.message,
author: action.payload.author,
id: action.payload.id,
}]);
default:
return state;
}
};
export default messages;
Заранее спасибо