小编Sta*_*n V的帖子

React Hooks:在 useEffects 中将对象作为依赖处理

更新:对于用例 1,是的,如果我在 useEffect 之外提取 search.value 并将其用作依赖项,则它可以工作。

但我在下面有一个更新的用例

用例 2:我想将 searchHits 对象传递给服务器。服务器反过来将其返回给我,并带有更新的值作为响应。如果我尝试使用 searchHits 对象,我仍然会得到无限循环

state: {
    visible: true,
    loading: false,
    search: {
        value: “”,
        searchHits: {....}, 
        highlight: false,
    }
}

let val = search.value
let hits = search.searchHits
useEffect( () => {

    axios.post(`/search=${state.search.value}`, {hits: hits}).then( resp => {
        …do something or ..do nothing
        state.setState( prevState => {
            return {
                …prevState,
                search: {... prevState.search, hits: resp.hit}
            }
        })
    })
}, [val, hits])

Run Code Online (Sandbox Code Playgroud)

用例 1:我想搜索一个字符串,然后在得到结果时突出显示

例如

state: {
    visible: true,
    loading: …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks use-effect

5
推荐指数
1
解决办法
6737
查看次数

标签 统计

javascript ×1

react-hooks ×1

reactjs ×1

use-effect ×1