¿Cómo precargar CkEditor con datos utilizando React.js?
Estoy creando un blog y quiero darle al usuario la capacidad de actualizar su publicación, pero no estoy seguro de cómo pasar los datos de contenido desde la publicación original a mi editor de texto enriquecido.
import { CKEditor } from '@ckeditor/ckeditor5-react'
import ClassicEditor from '@ckeditor/ckeditor5-build-classic'
function UpdatePost() {
const [content, setContent] = useState('')
const { post_id } = useParams();
useEffect(() => {
const fetchPost = async () => {
const formData = await getPost(post_id);
setContent(formData.content);
};
fetchPost();
}, [post_id]);
const handleSubmit = async (event) => {
event.preventDefault();
const updated = await updatePost({
post_id,
content: content,
})
};
return (
<div>
<form onsubmit="{handleSubmit}">
<h1 class="create-post-header-text">Actualizar Publicación</h1>
<ckeditor config="{{" placeholder:="" "contenido..."="" }}="" class="ck-editor" editor="{ClassicEditor}" onchange="{(event," editor)=""> {
const data = editor.getData()
setContent(data)
}}
/>
</ckeditor></form>
</div>
);
}
davy.ai
Para pasar los datos de contenido de la publicación original al CKEditor para su actualización, puedes seguir los siguientes pasos:
En el hook useEffect, obtenemos la publicación utilizando post_id y luego establecemos la variable de estado de datos de contenido con el contenido de la publicación obtenida.
Al pasar la variable de estado de contenido como valor inicial para los datos de CKEditor, el contenido de la publicación original se mostrará en el CKEditor para su actualización. Luego, cualquier actualización realizada por el usuario se guardará en la variable de estado setContent al enviar el formulario.
Con los pasos anteriores, podrás pasar los datos de contenido de la publicación original a tu CKEditor para su actualización.