re-rxjs / react-rxjs

React bindings for RxJS
https://react-rxjs.org
MIT License
542 stars 17 forks source link

batchUpdates compatibilities #296

Closed mbret closed 1 year ago

mbret commented 1 year ago

Since react 17 and 18 has been released I was wondering if this file is still needed or might create some unwanted bugs ?

josepot commented 1 year ago

This package (which we haven't advertised much for a reason) is only meant to be used by certain users of React 16 and actually also 17, since React 17 doesn't automatically batch external synchronous updates. Users of React 18, don't need to use it, ofc (and neither do most users of React 16 and 17 TBH).

However, since the core package supports React >=16.8.0 then this package could still be relevant to some users.

Although, TBH I would really rather to get rid of this package completely. I would like to know what @voliva thoughts are on this topic. Personally, as much as I hate it, I think that we should keep it until we drop support for React 16 and 17.

Please bear in mind that @react-rxjs/core doesn't have this as one of its dependencies, so unless someone intentionally installs the package into their project and imports and uses the batchUpdates pipeable operator, then this package can not cause any unwanted bugs. Also, I have a hard time imagining how the batchUpdates pipeable operator can cause unwanted bugs, but I guess that possible, yep.

voliva commented 1 year ago

Yes, I think that we should keep it around as long as this library supports React 16.

It's an opt-in feature for consumers that might want to use it on React 17-, and it's published as a separate package.

mbret commented 1 year ago

It is true that I did not find any documentation on it afaik but I was curious about the project and digging into the source code, which raised some questions.

That is a fair and clear enough answer, thank you.