I need to convert the given class component into a functional one.
I'm working with outputting an array of multiple Editors draft-js and I'm having some trouble outputting them. On the internet, I found a working class component with an array of them, but I can't convert it into a functional component for TS or JS.
import React from "react";
import { EditorState, ContentState } from "draft-js";
import { Editor } from "react-draft-wysiwyg";
import htmlToDraft from "html-to-draftjs";
import { stateFromHTML } from "draft-js-import-html";
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
export default class App extends React.Component {
constructor(props) {
super(props);
const contents = [
{
text: "Sample text",
HTML:
"<p style='text-align: center;'><span style='font-size:3em;'><strong>Sample text</strong></span></p>"
},
{
text: "Sample text2",
HTML:
"<p style='text-align: center;'><span style='font-size:3em;'><strong>Sample text2</strong></span></p>"
}
];
this.state = {
editorStates: contents.map((element) =>
EditorState.createWithContent(stateFromHTML(element.HTML))
)
};
}
render() {
return (
<>
{this.state.editorStates.map((element, index) => {
return (
<Editor
defaultEditorState={element}
onEditorStateChange={(editorState) => {
const newState = {
...this.state
};
newState.editorStates[index] = editorState;
this.setState(newState);
}}
key={index}
/>
);
})}
</>
);
}
}
Can someone have enough experience to help me with this?