Reactjs 为什么在React中的addEventListener函数中未定义props
我有以下代码:Reactjs 为什么在React中的addEventListener函数中未定义props,reactjs,addeventlistener,Reactjs,Addeventlistener,我有以下代码: const useMousePlayerMove = ({ playerMe }: any) => { console.log({playerMe}) // exist const handleCardMove = useCallback((event: any) => { console.log(playerMe); // undefined }, [playerMe]); useEffect(() => {
const useMousePlayerMove = ({ playerMe }: any) => {
console.log({playerMe}) // exist
const handleCardMove = useCallback((event: any) => {
console.log(playerMe); // undefined
}, [playerMe]);
useEffect(() => {
window.addEventListener('mousemove', handleCardMove);
return () => window.removeEventListener('mousemove', handleCardMove);
}, []);
return null;
};
有一个变量playerMe
(它是对象)。在console.log
中,我可以看到它确实存在
启动handleCardMove
后,playerMe
内部函数为未定义
为什么?
不带useCallback
时相同
const useMousePlayerMove = ({ playerMe }: any) => {
console.log({playerMe}) // exist
const handleCardMove = useCallback((event: any) => {
console.log(playerMe); // undefined
}, [playerMe]);
useEffect(() => {
window.addEventListener('mousemove', handleCardMove);
return () => window.removeEventListener('mousemove', handleCardMove);
}, [hndleCardMove]); // Add dependency
return null;
};
尝试添加对useffect()