Skip to content

Commit 6280e8f

Browse files
authored
Merge pull request #12 from jsdotlua/matthargett-patch-1
Add some useful specifics
2 parents 9db8b46 + a911705 commit 6280e8f

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,25 @@
77

88
---
99

10-
`react-lua` is a 1:1 translation of upstream [React](https://github.com/facebook/react), and is highly-turned for both performance and correctness.
10+
`react-lua` is a 1:1 translation of upstream [React](https://github.com/facebook/react) from JavaScript into Lua, and is highly-turned for both performance and correctness.
11+
When possible, upstream flowtype and definitely-typed types have been translated into Luau type annotations. The major and minor version of React Lua is aligned to the upstream used for the translation, except where noted. Due to the close nature of the two implementations, most article, video, or blog post that gives React JS advice can be applied to `react-lua` -- modulo language differences, of course.
12+
13+
Some experimental React JS 17 features, that are removed in React JS 18 and are not implemented in `react-lua`:
14+
* Blocks
15+
* SuspenseList
16+
* FundamentalComponent
17+
* `createEventHandle` API
18+
19+
Some React JS 17 features not yet translated in `react-lua`:
20+
* Server Components
21+
* (De)Hydration
22+
* Persistence
23+
* The `supportsMutation = false` option in the ReactHostConfig
24+
* ScopeComponent
25+
* some specific `Text` behavior not needed by the currently ported renderers
26+
27+
If you'd like to help port some of the missing features, search for `unimplemented` in the code.
28+
29+
While `react-lua` is written in the Luau dialect, bundler tools such as [DarkLua](https://darklua.com/) can be used to transpile the implementation code to Lua code that is compatible with other Lua-based runtimes. Note that other Lua runtimes may need a new renderer implementation to be created, a [reference](packages/react-roblox) renderer based on the [React Native](https://github.com/facebook/react/tree/main/packages/react-native-renderer) renderer is included in this repository.
1130

1231
TODO: Write the rest of the README.

0 commit comments

Comments
 (0)