From 7e0523f030cea74509a1b172c6db01b7e67efaa3 Mon Sep 17 00:00:00 2001 From: yuruo Date: Fri, 7 Jun 2024 10:25:04 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E6=B7=BB=E5=8A=A0(Search/index.tsx?= =?UTF-8?q?)=EF=BC=9A=E4=BD=BF=E7=94=A8useStore=E6=9B=BF=E6=8D=A2useSearch?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E7=8A=B6=E6=80=81=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E2=9C=A8=20=E6=B7=BB=E5=8A=A0(hooks/useCodeSelect.ts)=EF=BC=9A?= =?UTF-8?q?=E4=BD=BF=E7=94=A8useStore=E6=9B=BF=E6=8D=A2useCode=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E7=8A=B6=E6=80=81=E7=AE=A1=E7=90=86=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E6=96=B0=E7=9A=84setSearch=E5=87=BD=E6=95=B0?= =?UTF-8?q?=20=E2=9C=A8=20=E6=B7=BB=E5=8A=A0(hooks/useSearch.ts)=EF=BC=9A?= =?UTF-8?q?=E4=BD=BF=E7=94=A8useStore=E6=9B=BF=E6=8D=A2useCode=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E7=8A=B6=E6=80=81=E7=AE=A1=E7=90=86=20=F0=9F=93=9D=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0(store/useStore.ts)=EF=BC=9A=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=85=A8=E5=B1=80=E7=8A=B6=E6=80=81=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=99=A8useStore=EF=BC=8C=E7=94=A8=E4=BA=8E=E7=AE=A1=E7=90=86d?= =?UTF-8?q?ata=E5=92=8Csearch=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/renderer/src/components/Search/index.tsx | 6 +++--- .../src/renderer/src/hooks/useCodeSelect.ts | 7 +++++-- ui/autoMate/src/renderer/src/hooks/useSearch.ts | 12 ++++++++---- ui/autoMate/src/renderer/src/store/useStore.ts | 15 +++++++++++++++ 4 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 ui/autoMate/src/renderer/src/store/useStore.ts diff --git a/ui/autoMate/src/renderer/src/components/Search/index.tsx b/ui/autoMate/src/renderer/src/components/Search/index.tsx index 295c9ed..a661ffe 100644 --- a/ui/autoMate/src/renderer/src/components/Search/index.tsx +++ b/ui/autoMate/src/renderer/src/components/Search/index.tsx @@ -1,8 +1,8 @@ +import { useStore } from "@renderer/store/useStore" import useSearch from "@renderer/hooks/useSearch" - - export default function Search(): JSX.Element { - const {search, handleSearch} = useSearch() + const search = useStore((state)=>state.search) + const {handleSearch} = useSearch() return (
diff --git a/ui/autoMate/src/renderer/src/hooks/useCodeSelect.ts b/ui/autoMate/src/renderer/src/hooks/useCodeSelect.ts index ed100e0..c29a71c 100644 --- a/ui/autoMate/src/renderer/src/hooks/useCodeSelect.ts +++ b/ui/autoMate/src/renderer/src/hooks/useCodeSelect.ts @@ -1,7 +1,9 @@ -import useCode from "@renderer/hooks/useCode" +import {useStore} from "@renderer/store/useStore" import { useCallback, useEffect, useState } from "react" export default()=>{ - const {data, setData} = useCode() + const data = useStore((state)=>state.data) + const setData = useStore((state)=>state.setData) + const setSearch = useStore((state)=>state.setSearch) const [id, setId] = useState(0) const handleKeyEvent = useCallback((e: KeyboardEvent) => { // 初始没有数据,所以data.length为0 ,防止向上箭头,将数据变为-1 @@ -33,6 +35,7 @@ export default()=>{ async function select(id: Number){ const content = data.find((item)=>item.id == id)?.content setData([]) + setSearch('') if (content) await navigator.clipboard.writeText(content) window.api.hideWindow() } diff --git a/ui/autoMate/src/renderer/src/hooks/useSearch.ts b/ui/autoMate/src/renderer/src/hooks/useSearch.ts index 779db65..be9ff70 100644 --- a/ui/autoMate/src/renderer/src/hooks/useSearch.ts +++ b/ui/autoMate/src/renderer/src/hooks/useSearch.ts @@ -1,9 +1,13 @@ -import useCode from "@renderer/hooks/useCode" -import { ChangeEvent, useState } from "react" +// import useCode from "@renderer/hooks/useCode" +import { ChangeEvent } from "react" import { codes } from "@renderer/data" +import { useStore } from "@renderer/store/useStore" export default()=>{ - const {setData} = useCode() - const [search, setSearch] = useState('') + // const {setData} = useCode() + const setData = useStore((state)=>state.setData) + // const [search, setSearch] = useState('') + const search = useStore((state)=>state.search) + const setSearch = useStore((state)=>state.setSearch) const handleSearch = (e: ChangeEvent) => { setSearch(e.target.value) setData( diff --git a/ui/autoMate/src/renderer/src/store/useStore.ts b/ui/autoMate/src/renderer/src/store/useStore.ts new file mode 100644 index 0000000..7f47390 --- /dev/null +++ b/ui/autoMate/src/renderer/src/store/useStore.ts @@ -0,0 +1,15 @@ +import { DataType } from "@renderer/data"; +import { create } from "zustand"; +interface StateProps{ + data: DataType[], + setData: (data: DataType[]) => void, + search: string, + setSearch: (search: string) => void +} +export const useStore = create((set) => ({ + data: [], + setData: (data) => set({data}), + search: "", + setSearch: (search) => set({search}) + })) +