>  Q&A  >  본문

이것은 반응의 useEffectEvent에 대한 정확한 폴리필입니까?

이것은 React의 곧 출시될 useEffectEvent 후크에 대한 정확한 심인가요? 잠재적인 문제가 있나요?

확실하지 않은 부분은 반환된 함수가 다른 효과에 사용되기 전에 참조가 업데이트되도록 보장되는지 여부입니다. 내 코드의 다른 곳에서는 다소 난해한 useInsertionEffect을 사용하지 않는 한 이 문제는 괜찮다고 생각하지만 확인하고 싶었습니다.

으아악


P粉251903163P粉251903163309일 전405

모든 응답(1)나는 대답할 것이다

  • P粉186904731

    P粉1869047312024-01-07 10:10:29

    내 생각에는 React 팀이 useEffectEvent에 대한 공식 폴리필을 제안한 것 같지 않습니다(적어도 저는 아직 본 적이 없습니다).

    그렇지만 현재는 존재하지 않는 useEvent 的 RFC,最初使用 useLayoutEffect에서 타겟팅할 수 있습니다. 이벤트와 효과 분리의 초기 버전에서 Dan Abramov는 업데이트된 버전이 다음과 같은 모습을 보여주었습니다(문서에는 더 이상 표시되지 않음). 으아악

    이 폴리필은

    를 사용합니다. 따라서 다른 효과가 실행되기 전에 참조가 업데이트된다고 가정하는 것이 매우 안전합니다. useInsertionEffect。我相信这种选择的原因是插入效果是最先运行的 (与 useLayoutEffectuseEffect

    나중에 useEvent 에 대한 RFC가 보류되었으며

    useEvent 的 RFC 是搁置useEffectEvent开始在文档中显示 。尽管如此,由于公开的行为是相同的,因此可以重用相同的polyfill来实现useEffectEvent 문서에 표시를 시작하세요

    . 그럼에도 불구하고 노출된 동작은 동일하므로 동일한 폴리필을 구현에 재사용할 수 있습니다

    . useCallback(..., [])

    이 폴리필을 사용하면 후크가 안정적인 함수를 반환합니다(감사합니다

    ). 이는 필요하지 않을 수도 있지만 더 간단합니다(만약 소비자가 실수로 반환된 함수를 효과의 종속성에 추가하는 경우). 폴리필에 대해 더 자세히 알고 싶습니다. 이에 대해 이미 블로그에 올렸습니다.

    새 React 문서에서 useEvent 폴리필🎜을 확인하세요. 🎜

    회신하다
    0
  • 취소회신하다