mirror of
https://github.com/mathuo/dockview
synced 2025-03-10 07:52:07 +00:00
Merge pull request #76 from mathuo/73-use-more-react-18-friendly-code
feat: react 18
This commit is contained in:
commit
979cb9aa5c
14830
package-lock.json
generated
14830
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
32470
packages/dockview-demo/package-lock.json
generated
32470
packages/dockview-demo/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -14,24 +14,25 @@
|
||||
"author": "https://github.com/mathuo",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@mdx-js/react": "^2.1.1",
|
||||
"dockview": "^1.2.0",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"recoil": "^0.7.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.17.9",
|
||||
"@storybook/addon-actions": "^6.4.22",
|
||||
"@storybook/addon-controls": "^6.4.22",
|
||||
"@storybook/addon-docs": "^6.4.22",
|
||||
"@storybook/addon-essentials": "^6.4.22",
|
||||
"@storybook/addon-links": "^6.4.22",
|
||||
"@storybook/addon-storysource": "^6.4.22",
|
||||
"@storybook/builder-webpack5": "^6.4.22",
|
||||
"@storybook/manager-webpack5": "^6.4.22",
|
||||
"@storybook/react": "^6.4.22",
|
||||
"@types/react": "^17.0.40",
|
||||
"@types/react-dom": "^17.0.13",
|
||||
"@storybook/addon-actions": "^6.5.0-beta.0",
|
||||
"@storybook/addon-controls": "^6.5.0-beta.0",
|
||||
"@storybook/addon-docs": "^6.5.0-beta.0",
|
||||
"@storybook/addon-essentials": "^6.5.0-beta.0",
|
||||
"@storybook/addon-links": "^6.5.0-beta.0",
|
||||
"@storybook/addon-storysource": "^6.5.0-beta.0",
|
||||
"@storybook/builder-webpack5": "^6.5.0-beta.0",
|
||||
"@storybook/manager-webpack5": "^6.5.0-beta.0",
|
||||
"@storybook/react": "^6.5.0-beta.0",
|
||||
"@types/react": "^18.0.5",
|
||||
"@types/react-dom": "^18.0.1",
|
||||
"babel-loader": "^8.2.4",
|
||||
"cross-env": "^7.0.3",
|
||||
"rimraf": "^3.0.2",
|
||||
|
@ -1,14 +1,15 @@
|
||||
import * as React from 'react';
|
||||
import * as ReactDOM from 'react-dom';
|
||||
import * as ReactDOM from 'react-dom/client';
|
||||
import { Application } from './layout-grid/application';
|
||||
import { RecoilRoot } from 'recoil';
|
||||
import './index.scss';
|
||||
|
||||
document.getElementById('app').classList.add('dockview-theme-dark');
|
||||
|
||||
ReactDOM.render(
|
||||
const root = ReactDOM.createRoot(document.getElementById('app'));
|
||||
|
||||
root.render(
|
||||
<RecoilRoot>
|
||||
<Application />
|
||||
</RecoilRoot>,
|
||||
document.getElementById('app')
|
||||
</RecoilRoot>
|
||||
);
|
||||
|
2391
packages/dockview/package-lock.json
generated
2391
packages/dockview/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -70,7 +70,7 @@
|
||||
"typedoc": "^0.22.15"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8.0",
|
||||
"react-dom": ">=16.8.0"
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
||||
}
|
||||
}
|
||||
|
@ -134,12 +134,6 @@ export const DockviewReact = React.forwardRef(
|
||||
: undefined,
|
||||
});
|
||||
|
||||
const disposable = dockview.onDidDrop((event) => {
|
||||
if (props.onDidDrop) {
|
||||
props.onDidDrop(event);
|
||||
}
|
||||
});
|
||||
|
||||
domRef.current?.appendChild(dockview.element);
|
||||
dockview.deserializer = new ReactPanelDeserialzier(dockview);
|
||||
|
||||
@ -153,12 +147,29 @@ export const DockviewReact = React.forwardRef(
|
||||
dockviewRef.current = dockview;
|
||||
|
||||
return () => {
|
||||
disposable.dispose();
|
||||
dockview.dispose();
|
||||
element.remove();
|
||||
};
|
||||
}, []);
|
||||
|
||||
React.useEffect(() => {
|
||||
if (!dockviewRef.current) {
|
||||
return () => {
|
||||
// noop
|
||||
};
|
||||
}
|
||||
|
||||
const disposable = dockviewRef.current.onDidDrop((event) => {
|
||||
if (props.onDidDrop) {
|
||||
props.onDidDrop(event);
|
||||
}
|
||||
});
|
||||
|
||||
return () => {
|
||||
disposable.dispose();
|
||||
};
|
||||
}, [props.onDidDrop]);
|
||||
|
||||
React.useEffect(() => {
|
||||
if (!dockviewRef.current) {
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user