Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Roblox/roact

A view management library for Roblox Lua similar to React
https://github.com/Roblox/roact

lua react roblox ui

Last synced: about 2 months ago
JSON representation

A view management library for Roblox Lua similar to React

Awesome Lists containing this project

README

        

> This repository is deprecated and no longer maintained.
>
> See [react-lua](https://github.com/Roblox/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](https://github.com/Roblox/Roact/releases).
* 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](https://github.com/LPGhatguy/rojo) to sync the files into a place

## [Documentation](https://roblox.github.io/roact)
For a detailed guide and examples, check out [the official Roact documentation](https://roblox.github.io/roact).

```lua
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](LICENSE.txt) for details.