이것은 React의 곧 출시될 useEffectEvent
후크에 대한 정확한 심인가요? 잠재적인 문제가 있나요?
확실하지 않은 부분은 반환된 함수가 다른 효과에 사용되기 전에 참조가 업데이트되도록 보장되는지 여부입니다. 내 코드의 다른 곳에서는 다소 난해한 useInsertionEffect
을 사용하지 않는 한 이 문제는 괜찮다고 생각하지만 확인하고 싶었습니다.
P粉1869047312024-01-07 10:10:29
내 생각에는 React 팀이 useEffectEvent
에 대한 공식 폴리필을 제안한 것 같지 않습니다(적어도 저는 아직 본 적이 없습니다).
그렇지만 현재는 존재하지 않는 를 useEvent
的 RFC,最初使用 useLayoutEffect
에서 타겟팅할 수 있습니다. 이벤트와 효과 분리의 초기 버전에서 Dan Abramov는 업데이트된 버전이 다음과 같은 모습을 보여주었습니다(문서에는 더 이상 표시되지 않음).
으아악
를 사용합니다. 따라서 다른 효과가 실행되기 전에 참조가 업데이트된다고 가정하는 것이 매우 안전합니다. useInsertionEffect
。我相信这种选择的原因是插入效果是最先运行的 (与 useLayoutEffect
和 useEffect
useEvent
에 대한 RFC가 보류되었으며 useEvent
的 RFC 是搁置和useEffectEvent
开始在文档中显示 。尽管如此,由于公开的行为是相同的,因此可以重用相同的polyfill来实现useEffectEvent
문서에 표시를 시작하세요
. useCallback(..., [])
). 이는 필요하지 않을 수도 있지만 더 간단합니다(만약 소비자가 실수로 반환된 함수를 효과의 종속성에 추가하는 경우). 폴리필에 대해 더 자세히 알고 싶습니다. 이에 대해 이미 블로그에 올렸습니다.
새 React 문서에서 useEvent 폴리필🎜을 확인하세요. 🎜