# Builder.io example with React This example walks you through using Builder.io with a minimal React application. ## Prerequisites Before using this example, make sure you have the following: - A [Builder.io](builder.io) account. Check out the [plans](https://www.builder.io/m/pricing), which range from our free tier to custom. - [npm](https://www.npmjs.com/) A basic understanding of the following is helpful too: - The [command line](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line) - JavaScript and [React](https://reactjs.org/) - What it means to [clone a GitHub repo](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) ## Overview To use this project, you need to do three things: 1. Get a copy of this repo. 1. Create a corresponding space in your account on [Builder.io](builder.io). 1. Connect the two. The next sections walk you through each step. ### Clone this project This example provides you with a ready-made application that you can copy locally and configure for use with your Builder.io account. 1. At the command line, run the following command to create a local copy of the Builder.io repo: ```shell git clone https://github.com/BuilderIO/builder.git ``` 1. Change into the example application by using the `cd` command: ```shell cd builder/examples/react-js ``` 1. Open this directory in your favorite code editor. You'll come back here when you're ready to connect your application to your Builder space. ### Generating your Builder.io space If you've just created your Builder.io account and logged in for the first time, Builder prompts you to create a space with a new Builder site or add Builder to an existing application. For this example, click **Add Builder to an existing site or app**.
Builder.io Welcome screen for creating a new Organization
**If you don't have the introductory prompt for creating a space, take the following steps. If you do have the prompt in the previous step, skip to step 4.** 1. Click on the Organization icon on the bottom left.
Organization icon with two people standing together
1. Hover over **Builder.io** and choose **+ New Space**.
Menu options for creating a new space
1. Click **Add Builder to an existing site or app**. 1. When Builder asks you which ecommerce platform you use, select **None**. 1. Name your new space by entering "My React App" and click **Create**.
Dialogue for creating a new space
Now that you have a new space, the next step is connecting "My React App" with your application. ### Connecting Builder.io to your application To connect your Builder.io space and your application, set the model preview URL and get your API key as follows: #### Setting the model preview URL To enable Builder to open your site in the visual editor, you will need to provide a URL that we can open which has the Builder rendering component in it. Go to the [/models](https://builder.io/models) page in Builder and choose your **page** model. Then, set the Preview URL to http://localhost:5173. Be sure to include the http://. **Note: once you deploy your updates, you will want to update this to a public URL, such as your live site or your staging site (e.g. `https://your-site.com`), so anyone on your team can connect to your site for visual editing** #### Getting your API Key In the [Account settings](https://builder.io/account/space), copy your Public API Key. We're going to paste the API Key into `YOUR_API_KEY` in `src/main.jsx`. ![Image showing where to get your API Key](https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F761e521019724d8bbd59ed0d5f079c8e) ## Running your application To serve your application locally, install dependencies, serve, and view your preview. 1. Install dependencies by entering the follw\owing at the command line. ``` npm install ``` 1. Serve your application by running the following at the command line: ``` npm run dev ``` 1. In your browser, go to `http://localhost:5173` to see your application. ### Experimenting Now that you have a configured Builder.io application, you can try different features, such as creating a page. Create a new page entry, assign any URL, publish and preview. For more detail and ideas on creating pages, see [Creating a landing page in Builder ](https://www.builder.io/c/docs/creating-a-landing-page). ### Deploy You can deploy anywhere you like, but for this project we recommend [Vercel](https://nextjs.org/docs/deployment). [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fbuilderio%2Fbuilder%2Ftree%2Fmain%2Fexamples%2Freact-js) ## Next steps - Learn how to [use your react components in our visual editor](https://www.builder.io/c/docs/custom-react-components) - For more information on previewing your applications, see [Editing and previewing directly on your site](https://www.builder.io/c/docs/guides/preview-url). - See [Getting started with the visual editor](https://www.builder.io/c/docs/guides/page-building) for an introduction to editing your pages without having to code. - Check out [Builder best practices](https://www.builder.io/c/docs/best-practices) for guidance on how to approach site development with Builder.