BUILDER

Features

Developers

Documentation

Pricing

Github

Docs

App

This page was made in Builder!

USER GUIDES

Creating Content

Learning the visual editor

Responsive design tricks

Saving layers as templates

Importing your site pages

Connecting custom data

Interactive pages with state and actions

Creating reusable components with Symbols

Targeting and scheduling content

Building custom forms

How To

Sidebar Menu

Dropdown Menu

Platforms

Shopify

Wordpress

Custom

DEVELOPER GUIDES

Guides

Quick start

SEO optimizing Builder.io content

Creating custom models

Using custom fields

Enable on-site previewing and editing

Dynamic URLs and advanced data fetching

Adding Custom Code

Using 3rd party libraries

Import HTML

Extending Builder.io with plugins

REST API

HTML API

Content API

GraphQL API

Webhooks

Write API

React

Getting started

Using Next.js

Using Gatsby

Using your React components in Builder

New!

Components-only mode

Triggering custom actions

Angular

Ruby on rails

Webcomponents

Github

State and actions

Learn how to make your Builder content interactive with state and actions in this 5 minute video!

State is a JavaScript concept that simply says an object is in a certain state, and you can update its properties and its behavior will change accordingly. State and actions make your content interactive. Below, we will show you a simple way to use state and actions.

Using state and actions

Were going to start by dragging and dropping in a template. Add two buttons below the template. One button will make the content disappear, and the other will make the content reappear.

Once we have our buttons in place, we are going to use the State object. Click on the reappear button, navigate to the “Data” tab, and click “new action” in the element actions section. Set the action to “click”, and then click “edit action”. This is where we will use a bit of JavaScript. Enter in state.hidden=false; If you’re familiar with JavaScript, you know we can add any property name on the State object. If you aren’t familiar, all you need to know is we are setting State to hidden, and then equaling it to false (while means no). For our other button, we are going to follow the same steps, but state will be set to true: state.hidden=true;

Now you can click on the buttons and see our function working. On the left side of the editor, you can see hidden being toggled on and off when our buttons are clicked. Lastly, we need to bind our hidden property to our content so we can visually see our content disappear/reappear. Click on the content that you want to apply the hidden property to. At the top of the “Data” tab in the binding section, click "get" and select “hide if”. Then, click “from” and select “hidden”.

To learn more about how to add custom code to state bindings or action handlers, check out our Custom Code guide.

Up Next

Reusable components with symbols