Recently, I researched the commonly used open source libraries for React beginners and found that react-joyride is the most customizable and suitable for in-depth use.
react-joyride official Demo effect:
Demo github: https://github.com/gilbarbara/react-joyride
The most downloaded open source libraries for product tour in the past year
The statistical date is March 31, 2024
Library | Star | NPM daily download | Agreement |
---|---|---|---|
react-joyride | 6.4k | 249k | MIT |
shepherd.js | 11.8k | 91k | MIT |
driver.js | 20.4k | 44k | MIT |
intro.js | 22.6k | 85k | GPL |
reactour | 3.7k | 45k | MIT |
- From the daily download volume of npm, react-joyride is far ahead, with more than 2.5 times the download volume of the second place shepherd.js.
- intro.js is a GPL agreement. If you do not purchase its commercial agreement and use it in enterprise applications, you must open the relevant source code and be very careful when using it 📢
Quick Start 🚀
Step 1: Import
Step 2: Define the boot steps
React and TypeScript support 🏡
-
react-joyride source code is implemented using React and TypeScript, with the highest support
-
The intro.js source code is implemented using TypeScript, not React.
-
The shepherd.js source code is implemented using React and JavaScript, does not support TypeScript, and has no export declaration file
-
reactour supports React Hooks, the source code is implemented in JavaScript, and supports TypeScript type declarations
-
driver.js source code is implemented using TypeScript, and does not use React
Custom styles 🌺
Custom styles are standard in the above novice guide library and are all supported. Take react-joyride as an example
Custom Bootstrap Components 🔧
Custom React components are a unique feature of react-joyride, which other libraries do not have. shepherd.js and driver.js support JavaScript to operate HTML elements and overwrite CSS Class styles, which are difficult to develop and maintain (from the MVVM era back to the HTML+JS+CSS era →→)
Custom component
Detailed code address: https://react-joyride.com/custom
Customizing the Tooltip Component
Default Tooltip component
Customizing the Tooltip Component
Function implementation code introduction:
References
https://docs.react-joyride.com/
https://github.com/gilbarbara/react-joyride
https://github.com/shepherd-pro/shepherd
https://github.com/kamranahmedse/driver.js
https://github.com/usablica/intro.js
https://github.com/elrumordelaluz/reactour \