Мне нужна помощь. В своем проекте я использовал response-final-form, но решил изменить на react-hook-form. Кстати, мне это нравится, но я застрял. : /
На своей странице я использую редактор для сбора информации от пользователя. На данный момент я использую response-draft-wysiwyg. Вот код:
parentComponent.js
/**
* react-hook-form library
*/
const {
register,
handleSubmit,
control
} = useForm({
mode: 'onChange'
});
<form onSubmit={handleSubmit(onSubmit)}>
<Controller
as={<WYSIWYGEditor />}
name='editor'
control={control}
onChange={([ event ]) => event.target.value}
/>
</form>
WYSIWYGEditor.js
const WYSIWYGEditor = ({ input }) => {
const [ editorState, setEditorState ] = useState(EditorState.createEmpty());
const onEditorStateChange = editorState => {
setEditorState(editorState);
};
return (
<React.Fragment>
<div className={classes.root}>
<Editor
editorState={editorState}
wrapperClassName='wrapper-class'
editorClassName='editor-class'
onEditorStateChange={onEditorStateChange}
/>
</div>
</React.Fragment>
);
};
export default WYSIWYGEditor;
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: свойство input получено из кодирования с помощью response-final-form. На входе передавались символы, которые я набирал. Итак, если я оставлю input
в качестве реквизита, он потерпит неудачу, потому что его не существует. React-hook-form не передает ввод. Я изменил это с помощью props
:
const WYSIWYGEditor = props=> {
console.log(props)
и я получаю следующее в console.log, когда что-либо печатаю:
{name: "editor", value: undefined, onChange: ƒ}
Как видите, значение равно undefined
. Как я могу структурировать Controller
, чтобы передавать значение каждый раз, когда я что-то печатаю в редакторе?
Спасибо за вашу помощь