我在设置功能挂钩的状态时面临问题

时间:2019-12-30 20:20:08

标签: reactjs

我正在尝试加载一个函数5个可以完成某些任务并返回响应的函数,因此该钩子具有对象数据类型

const [Load, SetLoad] = useState({
    Group : true,
    Workshop : true,
    Event : true,
    Talk: true,
    Project: true
})

现在我正在尝试调用该函数并使用useEffect挂钩更新状态

useEffect(() => {
AllGroup().then(res => {
    SetLoad({...Load, Group: false})   
}).catch(err => {
    console.log(err.response)
})


AllProject().then(res => {
    SetLoad({...Load, Project: false})   
}).catch(err => {
    console.log(err.response)
})

AllTalk().then(res => {
    SetLoad({...Load, Talk: false})   
}).catch(err => {
    console.log(err.response)
 })

AllEvent().then(res => {
    SetLoad({...Load, Event: false})   
}).catch(err => {
    console.log(err.response)
})

AllWorkshop().then(res => {
    SetLoad({...Load, Workshop: false})   
}).catch(err => {
     console.log(err.response)
})
},[]);

现在我所面临的问题只是状态对象的一项变成了false,其余的保持默认值,所以任何人都可以帮助修复和更新状态对象的所有项

1 个答案:

答案 0 :(得分:2)

您应该使用功能更新。 例如

SetLoad(Load=>({...Load, Workshop: false}))