Google Authentication renderButton issue

newsilverΒ·2023λ…„ 7μ›” 28일
post-thumbnail

🚨 Issue

Google signin λ²„νŠΌμ΄ λ Œλ”λ§μ΄ μ•ˆλ˜μ–΄ νšŒμ›κ°€μž… νŽ˜μ΄μ§€κ°€ κ²€μ€ν™”λ©΄μœΌλ‘œ λ‚˜μ˜€λŠ” 이슈 λ°œμƒ

google script λ‚΄λΆ€μ—μ„œ μ½”λ“œκ°€ λ³€κ²½λ˜μ—ˆλŠ”μ§€ μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜κ³  있던 μ½”λ“œμ— λ¬Έμ œκ°€ μƒκ²¨μ„œ μ˜μ•„ν–ˆλ‹€.

console

GoogleLogin.tsx

const GoogleLogin = () => {
  const googleElId = 'google-login-api'
  const googleElRef = useRef<HTMLButtonElement | null>(null)
  // μ½˜μ†” μ°½μ—μ„œλŠ” Refμ—μ„œ 였λ₯˜κ°€ 났닀고 ν•˜μ§€λ§Œ λ””λ²„κΉ…ν•΄λ³΄λ‹ˆ λ¬Έμ œλŠ” μ—†λŠ” μƒνƒœ

  const load = useAtomValue(googleScriptAtom)

  useInitGoogle()  // initialize hook

  useEffect(() => {
    if (!load || !window.google) return

    const parent = document.querySelector<HTMLDivElement>(`#${googleElId}`)
    window.google.accounts.id.renderButton(parent, {
      width: '360',
      click_listener() {
        googleElRef.current?.focus()
      },
    })
  }, [load])

  if (!load) return null
  return (
      <Button btnRef={googleElRef}>
        <div id={googleElId} />
        <GoogleIcon />
        Continue with Google
      </Button>
  )
}

κ°„λ‹¨ν•œ μ»΄ν¬λ„ŒνŠΈλΌ 첫 쀄뢀터 μ½˜μ†”μ„ μ°μ–΄λ³΄λ©΄μ„œ 디버깅 ν•΄λ³΄μ•˜λ‹€.

renderButton μ—μ„œ μ—λŸ¬κ°€ λ°œμƒν•œ 것을 ν™•μΈν–ˆλŠ”λ°,

window.google.accounts.id.renderButton(parent, {
  width: '360', 
  click_listener() {
    googleElRef.current?.focus()
  },
})

source νƒ­μ—μ„œ ν™•μΈν•΄λ³΄λ‹ˆ widthκ°€ λ¬Έμ œμ˜€λ‹€.

Google Authentication 곡식 λ¬Έμ„œ λŠ” λ°”λ€κ²Œ μ—†μ—ˆλŠ”λ°..?

🧐 How to solved

λ‹¨μœ„κ°€ μ—†μ–΄μ„œ 값이 μ œλŒ€λ‘œ λ“€μ–΄κ°€μ§€ μ•ŠλŠ” 건가 μ‹Άμ–΄μ„œ '360' β†’ '360px'둜 μˆ˜μ •ν•œ ν›„ 정상 μž‘λ™ν•˜λŠ” 것을 ν™•μΈν–ˆλ‹€.

흠.. string νƒ€μž…μΈλ° 적용 μ˜ˆμ‹œλŠ” number νƒ€μž…μ΄λ„€? β€˜360’이 μ•„λ‹ˆλΌ 360으둜 값이 λ“€μ–΄κ°€μ•Ό ν•˜λ‚˜?

number둜 λ³€κ²½ν•˜λ‹ˆ 이것도 μ œλŒ€λ‘œ μž‘λ™ν–ˆλ‹€.

πŸ§Β λ¬Έμ„œκ°€ ꡉμž₯히 ν—·κ°ˆλ¦¬λŠ” λ“―

✨ summary

  • width: β€˜number’ β†’ X
  • width: number β†’ O
  • width: β€˜number + unit’ β†’ O
profile
이게 μ™œ 🐷

1개의 λŒ“κΈ€

comment-user-thumbnail
2023λ…„ 7μ›” 28일

정리가 잘 된 κΈ€μ΄λ„€μš”. 도움이 λμŠ΅λ‹ˆλ‹€.

λ‹΅κΈ€ 달기