I need to setup rich text box in my content body section, so I like to use npm react-quill
It’s install succesfully then I have used a bubble them form react-quill
It’s also warking succesfully. But when I try to show my post then display like this:
<h1>Hello this </h1><blockquote>is my five no <strong>of post</strong></blockquote>
But I need to plain text with rich text editor. Then I have used npm install react-render-html
.
After that when I try to see my post then show me error like this:
TypeError: Cannot read property 'length' of undefined push../node_modules/parse5/lib/tokenizer/preprocessor.js.module.exports.push../node_modules/parse5/lib/tokenizer/preprocessor.js.Preprocessor.write C:/Users/alami/OneDrive/Desktop/MERN stack/MERN CRUD/frontend/node_modules/parse5/lib/tokenizer/preprocessor.js:91 88 | else 89 | this.html = chunk; 90 | > 91 | this.lastCharPos = this.html.length - 1; 92 | this.endOfChunkHit = false; 93 | this.lastChunkWritten = isLastChunk; 94 | };
I have tried code like this:
import renderHtml from "react-render-html"; const showSinglePost = () => ( <div className="row"> <div className="col-md-8 offset-md-2 pt-3 pb-2"> <h1>{post.title}</h1> <div className="lead pt-3">{renderHtml(post.content)}</div> <p> Author: <strong>{post.user}</strong> Published on{" "} <strong>{new Date(post.createdAt).toLocaleString()}</strong> </p> </div> </div> ); return <div className="container">{post && showSinglePost()}</div>; };
Advertisement
Answer
I got the solution by this way:
import renderHtml from "react-render-html"; const showSinglePost = () => ( <div className="row"> <div className="col-md-8 offset-md-2 pt-3 pb-2"> <h1>{post.title}</h1> <div className="lead pt-3">{renderHtml(post && post.content)}</div> <p> Author: <strong>{post.user}</strong> Published on{" "} <strong>{new Date(post.createdAt).toLocaleString()}</strong> </p> </div> </div> ); return <div className="container">{post && showSinglePost()}</div>; };
Just I have to add this line: {renderHtml(post && post.content)}