Skip to content

Commit 305d148

Browse files
authored
perf(Monaco Editor): Performance Optimizations and Code Splitting for Editors (#128)
Signed-off-by: nitro56565 <nitro56565@gmail.com>
1 parent 8407c75 commit 305d148

File tree

7 files changed

+425
-162
lines changed

7 files changed

+425
-162
lines changed

package-lock.json

Lines changed: 226 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
"module": "^1.2.5",
7272
"rollup-plugin-ignore": "^1.0.10",
7373
"rollup-plugin-polyfill-node": "^0.12.0",
74+
"rollup-plugin-visualizer": "^5.14.0",
7475
"typescript": "^5.1.6",
7576
"vite": "^4.5.6",
7677
"vite-plugin-node-polyfills": "^0.9.0",

src/components/SampleDropdown.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
import { Button, Dropdown, Space, message, MenuProps } from "antd";
22
import { DownOutlined } from "@ant-design/icons";
3-
import { memo, useCallback, useMemo, useState } from "react";
3+
import { useCallback, useMemo, useState } from "react";
44
import useAppStore from "../store/store";
55
import { shallow } from "zustand/shallow";
6+
import { useStoreWithEqualityFn } from "zustand/traditional";
67

78
function SampleDropdown({
89
setLoading,
910
}: {
1011
setLoading: React.Dispatch<React.SetStateAction<boolean>>;
1112
}): JSX.Element {
12-
const { samples, loadSample } = useAppStore(
13+
const { samples, loadSample } = useStoreWithEqualityFn(
14+
useAppStore,
1315
(state) => ({
1416
samples: state.samples,
1517
loadSample: state.loadSample as (key: string) => Promise<void>,
@@ -59,4 +61,4 @@ function SampleDropdown({
5961
);
6062
}
6163

62-
export default memo(SampleDropdown);
64+
export default SampleDropdown;

0 commit comments

Comments
 (0)