我有一个函数,将更新我的对象值取决于应用程序名称使用useState挂钩。但我不能使用挂钩,它给错误无效的挂钩调用。
任何其他实现相同目标的方法也将起作用。
var myfun = (function() {
const APP_NAME= "sample app"
const [object, setObject] = useState({obj: 'value'})
if(APP_NAME =="sample app") {
setObject({obj:'new value'})
console.log('here')
}
return object
});
myfun();
3条答案
按热度按时间pgccezyw1#
创建自定义Hook而不是该Function:
请确保您使用功能组件来使用它。
注意:但这将只在APP_NAME将改变时有用。否则您可以只使用一个简单的三元运算符:
8iwquhpp2#
试着像这样把钩子调用移到函数之外,我想无效钩子调用的错误就会消失:
希望这对你有帮助。
mccptt673#
如果以上所有的答案都不起作用,寻找一个无限react钩子循环(通常使用useEffect);