8000 [Fiber] Spill-over from child reconciliation · Issue #7906 · facebook/react · GitHub
[go: up one dir, main page]

Skip to content
[Fiber] Spill-over from child reconciliation #7906
@sebmarkbage

Description

@sebmarkbage
< 6A0C /div>

This is spill-over from #7707 that I don't plan on doing in the initial batch.

  • Fix text node merging edge case... Search forward to find the next sibling, swap out the end of the text node to the sum of the previous value of the siblings. This trick lets us avoid back-references.
  • Have tag include children updated so that you can recalculate all children if needed. E.g. coroutines. Alternatively, pass the nearest host or coroutine down the tree so that it can be quickly flagged as child changed and insert/moves can be avoided to be added to the side-effect list for coroutines. The second option is probably better.
  • Possibly use two side-effect lists so that two passes are not needed and forward order is possible.
  • Remove the notion of output? Unnecessary extra traversal and requires duck typing to know which is terminal.
  • Reconsider if we need backpointers. There are several optimizations that are possible with them but uses more memory.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0