mobxjs/mobx
### [`v7.4.0`](https://togithub.com/mobxjs/mobx/releases/mobx-react@7.4.0)
[Compare Source](https://togithub.com/mobxjs/mobx/compare/mobx-react@7.3.0...mobx-react@7.4.0)
##### Minor Changes
- [`4c5e75cd`](https://togithub.com/mobxjs/mobx/commit/4c5e75cdfec08c04ad774c70dca0629bd2c77016) [#3382](https://togithub.com/mobxjs/mobx/pull/3382) Thanks [@iChenLei](https://togithub.com/iChenLei)! - replace the deprecated react type definition with recommended type definition
- [`bd4b70d8`](https://togithub.com/mobxjs/mobx/commit/bd4b70d8ded29673af8161aa42fb88dc4ad4420e) [#3387](https://togithub.com/mobxjs/mobx/pull/3387) Thanks [@mweststrate](https://togithub.com/mweststrate)! - Added experimental / poor man's support for React 18. Fixes [#3363](https://togithub.com/mobxjs/mobx/issues/3363), [#2526](https://togithub.com/mobxjs/mobx/issues/2526). Supersedes [#3005](https://togithub.com/mobxjs/mobx/issues/3005)
- Updated tests, test / build infra, peerDependencies to React 18
- **\[breaking icmw upgrading to React 18]** Already deprecated hooks like `useMutableSource` will trigger warnings in React 18, which is correct and those shouldn't be used anymore.
- **\[breaking icmw upgrading to React 18]** When using React 18, it is important that `act` is used in **unit tests** around every programmatic mutation. Without it, changes won't propagate!
- The React 18 support is poor man's support; that is, we don't do anything yet to play nicely with Suspense features. Although e.g. [startTransition](https://togithub.com/mweststrate/platform-app/commit/bdd995773ddc6551235a4d2b0a4c9bd57d30510e) basically works, MobX as is doesn't respect the Suspense model and will always reflect the latest state that is being rendered with, so tearing might occur. I think this is in theoretically addressable by using `useSyncExternalStore` and capturing the current values together with the dependency tree of every component instance. However that isn't included in this pull request 1) it would be a breaking change, whereas the current change is still compatible with React 16 and 17. 2) I want to collect use cases where the tearing leads to problems first to build a better problem understanding. If you run into the problem, please submit an issue describing your scenario, and a PR with a unit tests demonstrating the problem in simplified form. For further discussion see [#2526](https://togithub.com/mobxjs/mobx/issues/2526), [#3005](https://togithub.com/mobxjs/mobx/issues/3005)
##### Patch Changes
- Updated dependencies \[[`4c5e75cd`](https://togithub.com/mobxjs/mobx/commit/4c5e75cdfec08c04ad774c70dca0629bd2c77016), [`bd4b70d8`](https://togithub.com/mobxjs/mobx/commit/bd4b70d8ded29673af8161aa42fb88dc4ad4420e)]:
- mobx-react-lite@3.4.0
Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
7.3.0
->7.4.0
Release Notes
mobxjs/mobx
### [`v7.4.0`](https://togithub.com/mobxjs/mobx/releases/mobx-react@7.4.0) [Compare Source](https://togithub.com/mobxjs/mobx/compare/mobx-react@7.3.0...mobx-react@7.4.0) ##### Minor Changes - [`4c5e75cd`](https://togithub.com/mobxjs/mobx/commit/4c5e75cdfec08c04ad774c70dca0629bd2c77016) [#3382](https://togithub.com/mobxjs/mobx/pull/3382) Thanks [@iChenLei](https://togithub.com/iChenLei)! - replace the deprecated react type definition with recommended type definition - [`bd4b70d8`](https://togithub.com/mobxjs/mobx/commit/bd4b70d8ded29673af8161aa42fb88dc4ad4420e) [#3387](https://togithub.com/mobxjs/mobx/pull/3387) Thanks [@mweststrate](https://togithub.com/mweststrate)! - Added experimental / poor man's support for React 18. Fixes [#3363](https://togithub.com/mobxjs/mobx/issues/3363), [#2526](https://togithub.com/mobxjs/mobx/issues/2526). Supersedes [#3005](https://togithub.com/mobxjs/mobx/issues/3005) - Updated tests, test / build infra, peerDependencies to React 18 - **\[breaking icmw upgrading to React 18]** Already deprecated hooks like `useMutableSource` will trigger warnings in React 18, which is correct and those shouldn't be used anymore. - **\[breaking icmw upgrading to React 18]** When using React 18, it is important that `act` is used in **unit tests** around every programmatic mutation. Without it, changes won't propagate! - The React 18 support is poor man's support; that is, we don't do anything yet to play nicely with Suspense features. Although e.g. [startTransition](https://togithub.com/mweststrate/platform-app/commit/bdd995773ddc6551235a4d2b0a4c9bd57d30510e) basically works, MobX as is doesn't respect the Suspense model and will always reflect the latest state that is being rendered with, so tearing might occur. I think this is in theoretically addressable by using `useSyncExternalStore` and capturing the current values together with the dependency tree of every component instance. However that isn't included in this pull request 1) it would be a breaking change, whereas the current change is still compatible with React 16 and 17. 2) I want to collect use cases where the tearing leads to problems first to build a better problem understanding. If you run into the problem, please submit an issue describing your scenario, and a PR with a unit tests demonstrating the problem in simplified form. For further discussion see [#2526](https://togithub.com/mobxjs/mobx/issues/2526), [#3005](https://togithub.com/mobxjs/mobx/issues/3005) ##### Patch Changes - Updated dependencies \[[`4c5e75cd`](https://togithub.com/mobxjs/mobx/commit/4c5e75cdfec08c04ad774c70dca0629bd2c77016), [`bd4b70d8`](https://togithub.com/mobxjs/mobx/commit/bd4b70d8ded29673af8161aa42fb88dc4ad4420e)]: - mobx-react-lite@3.4.0Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.