Loading repository data…
Loading repository data…
Roblox / repository
A comprehensive, but not exhaustive, translation of ReactJS 17.x into Luau. This is a read-only mirror.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
React Luau is a declarative library for building user interfaces. It's a highly-tuned translation of ReactJS and currently based on React 17.
Learn how to use React Luau in your project.
We have several examples on the website. Here is the first one to get you started:
local React = require(Packages.React)
local ReactRoblox = require(Packages.ReactRoblox)
local e = React.createElement
local function HelloMessage(props: {
name: string,
})
return e("TextLabel", {
AnchorPoint = Vector2.new(0.5, 0.5),
Position = UDim2.fromScale(0.5, 0.5),
AutomaticSize = Enum.AutomaticSize.XY,
Text = `Hello, {props.name}!`,
})
end
local function App()
return e("ScreenGui", {}, {
MyMessage = e(HelloMessage, {
name = "Taylor",
}),
})
end
local root = ReactRoblox.createRoot(Instance.new("Folder"))
root:render(ReactRoblox.createPortal(e(App), Players.LocalPlayer.PlayerGui))
This example will render "Hello, Taylor!" into a TextLabel on the screen.
React Luau is MIT licensed. Go do cool stuff with it!