React: ν›„ν¬μ—μ„œ μ„œμŠ€νŽœμŠ€ 트리거

에 λ§Œλ“  2019λ…„ 02μ›” 14일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: facebook/react

κΈ°λŠ₯ 을 μš”μ²­ν•˜κ±°λ‚˜ 버그λ₯Όλ³΄κ³  ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?

질문. # 14563κ³Ό κ΄€λ ¨μ΄μžˆμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

ν›„ν¬μ—μ„œ μ„œμŠ€νŽœμŠ€λ₯Ό μ–΄λ–»κ²Œ νŠΈλ¦¬κ±°ν•©λ‹ˆκΉŒ?

질문이 λ‚˜μ˜¨ μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

이 μ§ˆλ¬Έμ€ react-i18next μ‚¬μš©ν•˜λŠ” λ™μ•ˆ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. react-i18next 의 졜근 μ—…λ°μ΄νŠΈλŠ” useTranslation -hook을 μ œκ³΅ν•˜μ—¬ ν˜„μž¬ λ²ˆμ—­μ„ κ°€μ Έμ˜¬ 수 있으며 μ•„μ§λ‘œλ“œλ˜μ§€ μ•Šμ€ λ²ˆμ—­ λ„€μž„ μŠ€νŽ˜μ΄μŠ€μ˜λ‘œλ“œλ„ νŠΈλ¦¬κ±°ν•©λ‹ˆλ‹€ (μ½”λ“œ λΆ„ν• κ³Ό μœ μ‚¬).

λ²ˆμ—­μ΄ μ•„μ§λ‘œλ“œλ˜μ§€ μ•Šμ€ 경우λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ useTranslation -hookλŠ” Suspense λ₯Ό νŠΈλ¦¬κ±°ν•˜κ² λ‹€λŠ” 약속을 λ˜μ§‘λ‹ˆλ‹€. μ΄λŠ” κΈ°μ‘΄ λ°˜μ‘ κΈ°λŠ₯κ³Ό κΉ”λ”ν•˜κ²Œ ν†΅ν•©λ˜κΈ° λ•Œλ¬Έμ— μ‹€μ œλ‘œ 정말 κΉ”λ”ν•©λ‹ˆλ‹€!

당신이 호좜 ν•œ ν›„ 더 후크λ₯Ό μ‚¬μš©ν•˜λŠ” κ²½μš°μ—λŠ” useTranslation -hookλ₯Ό λ“€λ©΄ λ‹€λ₯Έ 후크 λ Œλ”λ§λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ useTranslation 약속을 λ˜μ‘ŒμŠ΅λ‹ˆλ‹€. λ²ˆμ—­μ΄λ‘œλ“œλ˜λ©΄ 후크가 더 이상 λ˜μ§€μ§€ μ•Šκ³  λ°˜μ‘μ΄ ν›„ν¬μ˜ 양이 λ³€κ²½λ˜μ—ˆλ‹€λŠ” 큰 빨간색 κ²½κ³ λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€.

예

const Component = () => {
  const [t] = useTranslation('translationnamespace');
  const [count, setCount] = useState(0);

  return (
    <div onClick={() => setCount(count + 1)}>
      {t('The count is:')} {count}
    </div>
  );
};

translationnamespace κ°€ μ•„μ§λ‘œλ“œλ˜μ§€ μ•Šμ€ 경우 useTranslation κ°€ λ°œμƒν•˜μ—¬ useState κ°€ λ Œλ”λ§λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. translationnamespace κ°€λ‘œλ“œλ˜λ©΄ useTranslation κ°€ 더 이상 λ°œμƒν•˜μ§€ μ•ŠμœΌλ―€λ‘œ useState κ°€ λ Œλ”λ§λ˜μ–΄ κ²½κ³ κ°€ λ°œμƒν•©λ‹ˆλ‹€.

일반적인 사둀

λ”°λΌμ„œμ΄ μ§ˆλ¬Έμ€ react-i18nextμ—λ§Œ μ μš©λ˜λŠ” 것이 μ•„λ‹ˆλΌ μ„œμŠ€νŽœμŠ€λ₯Ό νŠΈλ¦¬κ±°ν•˜λ €λŠ” λͺ¨λ“  후크에 μ μš©λ©λ‹ˆλ‹€. 이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 방법은 무엇이며, 후크가 μ‘°κ±΄λΆ€λ‘œ λ Œλ”λ§λ˜μ§€ μ•Šμ•„μ•Όν•œλ‹€λŠ” ν˜„μž¬μ˜ "후크 κ·œμΉ™"κ³Ό μ–΄λ–»κ²Œ 톡합 λ κΉŒμš”?

Hooks Suspense Bug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‚˜λŠ” μš°λ¦¬κ°€ μ‹€μ œλ‘œ 이것을 16.8.2μ—μ„œ κ³ μ³€λ‹€ κ³  μƒκ°ν•©λ‹ˆλ‹€. 그렇지 μ•Šμ€ 경우 볡제 μΌ€μ΄μŠ€λ‘œ μƒˆ κ²ƒμ„μ—¬μ‹­μ‹œμ˜€.

λͺ¨λ“  3 λŒ“κΈ€

μΌμ‹œ μ€‘μ§€μ‹œ 였λ₯˜κ°€ λ°œμƒν•˜λŠ” μ‹€μˆ˜μ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€. μ˜λ„μ μ΄μ§€ μ•Šμ€ Afaik.

μ•Œκ² μŠ΅λ‹ˆλ‹€.

μΌμ‹œ μ€‘λ‹¨μ˜ 경우 λͺ¨λ“  후크λ₯Ό λ Œλ”λ§ν•˜μ§€ μ•Šλ„λ‘ μ •μ˜ 된 λ™μž‘μž„μ„ λ¬Έμ„œν™” ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 데이터 κ°€μ Έ 였기 λ©”μ»€λ‹ˆμ¦˜μœΌλ‘œ μΌμ‹œ 쀑단이 κ³΅μ‹μ μœΌλ‘œ λ„μž…λ˜λ©΄ 이것이 μ™„λ£Œ 될 κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€.

λ‚˜λŠ” μš°λ¦¬κ°€ μ‹€μ œλ‘œ 이것을 16.8.2μ—μ„œ κ³ μ³€λ‹€ κ³  μƒκ°ν•©λ‹ˆλ‹€. 그렇지 μ•Šμ€ 경우 볡제 μΌ€μ΄μŠ€λ‘œ μƒˆ κ²ƒμ„μ—¬μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰