Skip to content

Commit 8c21e25

Browse files
authored
Use flushsync (#770)
* fix: use flushsync * 6.9.6 * 6.9.7 * fix * 6.9.8
1 parent 932d926 commit 8c21e25

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "re-resizable",
3-
"version": "6.9.6",
3+
"version": "6.9.8",
44
"description": "Resizable component for React.",
55
"title": "re-resizable",
66
"main": "./lib/index.es5.js",
@@ -53,7 +53,7 @@
5353
"@storybook/react": "6.0.28",
5454
"@types/node": "12.12.70",
5555
"@types/react": "16.8.7",
56-
"@types/react-dom": "16.9.9",
56+
"@types/react-dom": "17.0.9",
5757
"@types/sinon": "9.0.10",
5858
"avaron": "0.2.0",
5959
"babel-core": "7.0.0-bridge.0",

src/index.tsx

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import * as React from 'react';
2+
import { flushSync } from 'react-dom';
3+
24
import { Resizer, Direction } from './resizer';
35
import memoize from 'fast-memoize';
46

@@ -854,7 +856,10 @@ export class Resizable extends React.PureComponent<ResizableProps, State> {
854856
newState.flexBasis = newState.height;
855857
}
856858

857-
this.setState(newState);
859+
// For v18, update state sync
860+
flushSync(() => {
861+
this.setState(newState);
862+
});
858863

859864
if (this.props.onResize) {
860865
this.props.onResize(event, direction, this.resizable, delta);
@@ -892,7 +897,7 @@ export class Resizable extends React.PureComponent<ResizableProps, State> {
892897
if (!enable) {
893898
return null;
894899
}
895-
const resizers = Object.keys(enable).map(dir => {
900+
const resizers = Object.keys(enable).map((dir) => {
896901
if (enable[dir as Direction] !== false) {
897902
return (
898903
<Resizer

yarn.lock

+7-7
Original file line numberDiff line numberDiff line change
@@ -2446,10 +2446,10 @@
24462446
"@types/react" "*"
24472447
"@types/reactcss" "*"
24482448

2449-
"@types/react-dom@16.9.9":
2450-
version "16.9.9"
2451-
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.9.tgz#d2d0a6f720a0206369ccbefff752ba37b9583136"
2452-
integrity sha512-jE16FNWO3Logq/Lf+yvEAjKzhpST/Eac8EMd1i4dgZdMczfgqC8EjpxwNgEe3SExHYLliabXDh9DEhhqnlXJhg==
2449+
"@types/react-dom@17.0.9":
2450+
version "17.0.9"
2451+
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.9.tgz#441a981da9d7be117042e1a6fd3dac4b30f55add"
2452+
integrity sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==
24532453
dependencies:
24542454
"@types/react" "*"
24552455

@@ -6546,9 +6546,9 @@ fast-json-stable-stringify@^2.0.0:
65466546
integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
65476547

65486548
fast-memoize@^2.5.1:
6549-
version "2.5.1"
6550-
resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.1.tgz#c3519241e80552ce395e1a32dcdde8d1fd680f5d"
6551-
integrity sha512-xdmw296PCL01tMOXx9mdJSmWY29jQgxyuZdq0rEHMu+Tpe1eOEtCycoG6chzlcrWsNgpZP7oL8RiQr7+G6Bl6g==
6549+
version "2.5.2"
6550+
resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e"
6551+
integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==
65526552

65536553
fault@^1.0.2:
65546554
version "1.0.3"

0 commit comments

Comments
 (0)