Custom Read More in React

share link

by Abdul Rawoof A R dot icon Updated: Feb 17, 2023

technology logo
technology logo

Solution Kit Solution Kit  

Import component from React to use state inside a functional component. Create a state variable to store the present state that conveys information about the expanded or collapsed state of the link. Call it. Read more. Keeping a clean code saves the JSX for the link and the extra content inside JavaScript constants.

 

In React, we are creating a functional component called ReadMore() in which we are creating a state with the first element isReadMore as an initial state with a value of the true and the second as function setIsReadMore() for the update state. We can create a function by the name toggleReadMore, which will set the state value from isReadMore to the opposite of its current value whenever the user calls it. Using a conditional operator, the value of state isReadMore decides how much text or content has to be shown. It shows only 150 characters of our text with the help of a string. slice() when the state's value is true. We can choose any number of characters as per our wish. Here we have a button with the name 'Expand' instead of ReadMore. This button performs both operations to show/hide the text we have given. 


Here we have used React's Reactstrap, which provides prebuilt Bootstrap 4 components that allow us a great deal of flexibility and prebuilt validation. When we click on the 'Expand' button, the expand sets the state value to false with the help of the onClick function, due to which we see the entire text with the same 'expand' button in the same place. And again, when we click the same 'expand' button, it sets the state value to true, which hides the text already shown.

 

Here is an example of how you can do a custom ReadMore in React: 

Fig : Preview of the output that you will get on running this code from your IDE.

Code

In this solution we're using React library.

Instructions

Follow the steps carefully to get the output easily.

  1. Install the Node.js and React on your IDE(preferable Visual Studio Code).
  2. Create React Application using npx create-react-app foldername.
  3. cd foldername.
  4. Open the folder in IDE.
  5. Copy the code using "copy" button above and paste it in app.js file(remove the earlier code from app.js).
  6. Open the terminal from IDE.
  7. npm start to run the file.


I hope you found this useful. I have added the link to dependent libraries, version information in the following sections.


I found this code snippet by searching for 'how to implement custom read more in react' in kandi. You can try any such use case!

Environment Tested

I tested this solution in the following versions. Be mindful of changes when working with other versions.

  1. The solution is created in Visual Studio Code 1.73.1.
  2. The solution is tested on node v18.12.1 and npm v8.19.2.
  3. React version-18.2.0.


Using this solution, we are able to implement custom read more in react with simple steps. This process also facilities an easy way to use, hassle-free method to create a hands-on working version of code which would help us to implement custom read more in react.

Dependent Library

reactby facebook

JavaScript doticonstar image 209050 doticonVersion:v18.2.0doticon
License: Permissive (MIT)

The library for web and native user interfaces

Support
    Quality
      Security
        License
          Reuse

            reactby facebook

            JavaScript doticon star image 209050 doticonVersion:v18.2.0doticon License: Permissive (MIT)

            The library for web and native user interfaces
            Support
              Quality
                Security
                  License
                    Reuse

                      You can also search for any dependent libraries on kandi like 'react'.

                      Support

                      1. For any support on kandi solution kits, please use the chat
                      2. For further learning resources, visit the Open Weaver Community learning page.


                      See similar Kits and Libraries