import React, {useEffect, useState} from 'react'; import {StyleSheet, Text, View} from 'react-native'; import rpx from '@/utils/rpx'; import Loading from '@/components/base/loading'; import {Chip, useTheme} from 'react-native-paper'; import useSearch from '../hooks/useSearch'; import {addHistory, getHistory, removeHistory} from '../common/historySearch'; import {useSetAtom} from 'jotai'; import { initSearchResults, PageStatus, pageStatusAtom, queryAtom, searchResultsAtom, } from '../store/atoms'; import ThemeText from '@/components/base/themeText'; interface IProps {} export default function (props: IProps) { const [history, setHistory] = useState(null); const search = useSearch(); const setQuery = useSetAtom(queryAtom); const setPageStatus = useSetAtom(pageStatusAtom); const setSearchResultsState = useSetAtom(searchResultsAtom); useEffect(() => { getHistory().then(setHistory); }, []); return ( {history === null ? ( ) : ( <> 历史记录 {history.map(_ => ( { await removeHistory(_); getHistory().then(setHistory); }} onPress={() => { setSearchResultsState(initSearchResults); search(_, 1); addHistory(_); setPageStatus(PageStatus.SEARCHING); setQuery(_); }}> {_} ))} )} ); } const style = StyleSheet.create({ wrapper: { width: rpx(750), maxWidth: rpx(750), flexDirection: 'row', flexWrap: 'wrap', padding: rpx(24), }, title: { width: '100%', marginVertical: rpx(28), }, chip: { flexGrow: 0, marginRight: rpx(24), marginBottom: rpx(24), }, });