首页 > 解决方案 > 259 / 5000 Wyniki tłumaczenia 搜索引擎 - 从状态数组中消失的项目

问题描述

我的搜索引擎有问题,它不能正常工作。当我在输入中输入一些文本时,它会搜索某些内容,但是当我删除它时,所有元素都会消失。请帮忙。状态包含取自 api 的名称

const courseReducer = (state, action) => {
        switch (action.type) {
 case 'SEARCH':
                return state.filter(task => task.name.toLocaleLowerCase().includes(action.searchText))
}
}
 const [state, dispatch] = useReducer(courseReducer, [])

表单.jsx

const Form = () => {
    const { dispatch, state } = useContext(DataContext)
    const [text, setText] = useState('')

    const handleInput = event => {
        setText(event.target.value)
        const searchText = text.toLocaleLowerCase();
        dispatch({ type: 'SEARCH', searchText })
    }
return (
<input type="text" value={text} onChange={handleInput} />
}

标签: reactjs

解决方案


看起来你courseReducer实际上是在搜索后改变状态。你想要的是filterForm渲染本身中做。


推荐阅读