You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Make sure you are using the latest [rotriever](https://github.com/Roblox/rotriever/releases) 0.5 (or later) release
15
15
* you can download the release binary, or add it to your `foreman.toml`: ```rotrieve = { source = "roblox/rotriever", version = "=0.5.6" }```
16
16
* For unit testing components and trees of components, you'll want to use the [`act()`](https://github.com/threepointone/react-act-examples/blob/master/sync.md) API exported from the react-roblox package.
**While `React.Suspense` is technically implemented, it should be considered unusable as of version `17.0.1-rc.19`.** This is due to a limitation in Luau around recursive `pcall` depth. Future updates to React will unravel the recursive traversal and enable these features.
356
+
**While `React.Suspense` is technically implemented, it should be considered unusable as of version `17.0.1`.** This is due to a limitation in Luau around recursive `pcall` depth. Future updates to React will unravel the recursive traversal and enable these features.
357
357
Future version of React eliminate this recursive structure and should enable full use of `Suspense` and error boundaries.
358
358
359
359
Renders a subtree of children that can yield. If the children suspend while rendering, the `fallback` field provided will be used until the children have resolved their render.
3. Run `rotrieve install` to install all dependencies
20
20
4.`React.lua` and `ReactRoblox.lua` will be added to the `Packages` folder generated by rotriever in your project. Make sure this folder is included in your project when testing with `roblox-cli` or Roblox Studio.
@@ -27,7 +27,7 @@ Make the following changes to your `rotriever.toml` manifest file:
This creates a dependency on the `RoactCompat` package, which provides [a compatibility layer](../api-reference/roact-compat.md) for migrating from legacy APIs.
@@ -39,9 +39,9 @@ Since it's still named `Roact` in the above snippet, it will be aliased to `Roac
39
39
However, the `RoactCompat` API only covers enough to provide backwards compatibility. To access new features like hooks or suspense, you will need to add dependencies on `React` and `ReactRoblox` as well:
The `RoactCompat` package **can be safely mixed and matched** with the new `React` and `ReactRoblox` packages; it's nothing more than a thin wrapper around them that aligns with the legacy Roact API and semantics.
@@ -64,7 +64,7 @@ You might encounter this if you have existing dependencies on any of the followi
64
64
To resolve this, you can patch over any dependencies on legacy Roact and align them with your newly-added version. Add this additional section to your `rotriever.toml` manifest file:
To learn more about patching dependencies, check out [the Rotriever documentation](https://roblox.github.io/rotriever/guide/specifying-dependencies/#patching-dependencies).
@@ -82,7 +82,7 @@ One reasonable way to accomplish this is to depend on _both_ projects, but to co
This declares a dependency on legacy Roact as well as a [dev dependency](https://roblox.github.io/rotriever/guide/specifying-dependencies/#development-dependencies) on Roact 17.
0 commit comments