我正在运行一个React(Typescript)应用程序,它有一个dotnet后端,在本地运行正常,但是一旦我把它部署到Azure上,我的useEffect钩子就开始不正常了。
const getContacts = useCallback(
() => {
getAvailablePartnerContacts(id!.toString()).then(
partnerContacts => {
const _partnerContacts = partnerContacts.map(
pContact => ({
value: pContact.id|| "",
key: `${pContact.firstName} ${pContact.lastName}`
})
);
debugger;
const allContacts = [...contacts, ..._partnerContacts]
setContacts(allContacts)
setPreselectedId(props.selectedPartnerContactId || "None");
})
},[])
//load data
useEffect(() => getContacts, [getContacts])
在localhost下运行良好,但在部署版本中,只有当我点击浏览器中的后退按钮时,这个debugger
才会触发。我甚至无法在本地重现这个问题。有人有过类似的经历吗?
1条答案
按热度按时间sr4lhrrt1#
在您的示例中,您返回的是
getContacts
,这意味着您调用的组件没有卸载。请考虑执行以下操作: