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}) + })) +