Roblox/roact

A view management library for Roblox Lua similar to React

625

stars

465

commits

Lua

primary language

Dec 13, 2023

updated

roblox.github.io/roact
lua
react
roblox
ui
Browse cluster: Reactive UI frameworks for Lua and JavaScript

README

This repository is deprecated and no longer maintained.

See react-lua for our currently maintained React in Lua library.

Roact

GitHub Actions Build Status Coveralls Coverage Documentation
A declarative UI library for Roblox Lua inspired by React.
 

Installation

Method 1: Model File (Roblox Studio)

  • Download the rbxm model file attached to the latest release from the GitHub releases page.
  • Insert the model into Studio into a place like ReplicatedStorage

Method 2: Filesystem

  • Copy the src directory into your codebase
  • Rename the folder to Roact
  • Use a plugin like Rojo to sync the files into a place

Documentation

For a detailed guide and examples, check out the official Roact documentation.

local LocalPlayer = game:GetService("Players").LocalPlayer

local Roact = require(Roact)

-- Create our virtual tree describing a full-screen text label.
local tree = Roact.createElement("ScreenGui", {}, {
	Label = Roact.createElement("TextLabel", {
		Text = "Hello, world!",
		Size = UDim2.new(1, 0, 1, 0),
	}),
})

-- Turn our virtual tree into real instances and put them in PlayerGui
Roact.mount(tree, LocalPlayer.PlayerGui, "HelloWorld")

License

Roact is available under the Apache 2.0 license. See LICENSE.txt for details.

Contributors

(top 30 of 32)

LPGhatguy

306 commits

ZoteTheMighty

90 commits

Roblox/roact

A view management library for Roblox Lua similar to React

625

stars

465

commits

Lua

primary language

Dec 13, 2023

updated

roblox.github.io/roact
lua
react
roblox
ui
Browse cluster: Reactive UI frameworks for Lua and JavaScript

README

This repository is deprecated and no longer maintained.

See react-lua for our currently maintained React in Lua library.

Roact

GitHub Actions Build Status Coveralls Coverage Documentation
A declarative UI library for Roblox Lua inspired by React.
 

Installation

Method 1: Model File (Roblox Studio)

  • Download the rbxm model file attached to the latest release from the GitHub releases page.
  • Insert the model into Studio into a place like ReplicatedStorage

Method 2: Filesystem

  • Copy the src directory into your codebase
  • Rename the folder to Roact
  • Use a plugin like Rojo to sync the files into a place

Documentation

For a detailed guide and examples, check out the official Roact documentation.

local LocalPlayer = game:GetService("Players").LocalPlayer

local Roact = require(Roact)

-- Create our virtual tree describing a full-screen text label.
local tree = Roact.createElement("ScreenGui", {}, {
	Label = Roact.createElement("TextLabel", {
		Text = "Hello, world!",
		Size = UDim2.new(1, 0, 1, 0),
	}),
})

-- Turn our virtual tree into real instances and put them in PlayerGui
Roact.mount(tree, LocalPlayer.PlayerGui, "HelloWorld")

License

Roact is available under the Apache 2.0 license. See LICENSE.txt for details.

Contributors

(top 30 of 32)

LPGhatguy

306 commits

ZoteTheMighty

90 commits

Languages

Lua

99.8%