Skip to content

Commit b54a1bd

Browse files
committed
Fixed information about reanimated
1 parent 30b678d commit b54a1bd

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

proposals/0000-dom-traversal-and-layout-apis.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ There are currently 2 [built-in animation systems in React Native](https://react
390390

391391
With the current animation systems, the observable state from JavaScript would likely be out of sync, but still consistent within the same event or effect phase. We need to make sure this is communicated effectively to users.
392392

393-
**Reanimated** is a widely used library for animations in React Native. In that case, all **animation ticks are defined in the shadow tree, but updates are not synchronized with the JavaScript thread**. That means the consistency guarantees defined in this proposal are not respected, so it would be possible to observe inconsistent values in the same JavaScript task. That is not the only problem we would have with this library. As we do not currently provide the necessary hooks to implement animations in userland, they had to inject a custom UIManager binding to JavaScript and fork our UIManager implementation. That means they would also have to propagate the changes we make to UIManager in the React Native codebase so their users can access these new APIs.
393+
**Reanimated** is a widely used library for animations in React Native. In that case, all **animation ticks are defined in the shadow tree, but updates are not synchronized with the JavaScript thread**. That means the consistency guarantees defined in this proposal are not respected, so it would be possible to observe inconsistent values in the same JavaScript task. They also extend certain core libraries in order to implement this animation libraries (like the `UIManager` binding in JavaScript), as we currently do not provide extension points to allow this. We would have to verify that their extensions continue working after we make these changes.
394394

395395
These animation systems have known problems that do not seem solvable with incremental changes, and there have been talks about building a new system (integrated into React) to solve them. This new system could also solve the synchronization problems mentioned here. For example, it could force the animation state to be flushed to the shadow tree when executing JavaScript code that is synchronized with the UI thread, like synchronous events.
396396

@@ -670,3 +670,4 @@ This is a **non-exhaustive** list of **possible** future extensions to the frame
670670
|Date |Author |Change |
671671
|--- |--- |--- |
672672
|2023-03-01 | [Rubén Norte](https://github.com/rubennorte) |Initial version published |
673+
|2023-03-02 | [Rubén Norte](https://github.com/rubennorte) |Fixed information about Reanimated |

0 commit comments

Comments
 (0)