Flutter - Widget

widget

  • UIλ₯Ό κ΅¬μ„±ν•˜λŠ” κΈ°λ³Έ λ‹¨μœ„

  • μ’…λ₯˜

    • Stateless Widget : μƒνƒœκ°€ μ—†λŠ” 정적인 μœ„μ ―

    • Stateful Widget : μƒνƒœμ— 따라 λ™μ μœΌλ‘œ λ³€ν•˜λŠ” μœ„μ ―

widget 생λͺ… μ£ΌκΈ°

  • Stateless Widget은 졜초 ν•œ 번 생성 ν›„ κ°±μ‹ ν•  수 μ—†μœΌλ―€λ‘œ 생λͺ…μ£ΌκΈ°κ°€ μ—†μŒ

  • Stateful Widget 생λͺ…μ£ΌκΈ°

    • createState() ν•¨μˆ˜ 호좜, μœ„μ ―μ˜ μƒνƒœ 생성

    • μœ„μ ― 마운트

    • initState() ν•¨μˆ˜ 호좜, μœ„μ ― μ΄ˆκΈ°ν™” μ‹œ 졜초 ν•œ 번 μ‹€ν–‰

    • didChangeDependencies() ν•¨μˆ˜ 호좜, μœ„μ ―μ΄ μ˜μ‘΄ν•˜λŠ” 데이터 객체 호좜될 λ•Œ λ§ˆλ‹€ ν˜Έν›Œλ¨

    • 이 λ•Œ μœ„μ ―μ΄ dirty μƒνƒœκ°€ λ˜μ–΄ λ‹€μ‹œ λΉŒλ“œ ν›„ clean μƒνƒœκ°€ 됨

    • setState λ©”μ†Œλ“œ 호좜 μ‹œ μœ„μ ―μ€ dirty μƒνƒœκ°€ 됨

    • λΆ€λͺ¨ μœ„μ ―μ—μ„œ μžμ‹ μœ„μ ―μ„ λ‹€μ‹œ λΉŒλ“œν•˜λ„λ‘ μš”μ²­ μ‹œ didUpdateWidget() ν•¨μˆ˜λ₯Ό 톡해 μœ„μ ―μ€ dirty μƒνƒœκ°€ 됨

    • dirty μƒνƒœκ°€ 된 μœ„μ ―μ€ λ‹€μ‹œ build ν›„ clean μƒνƒœλ‘œ λŒμ•„μ˜΄

    • μœ„μ ―μ΄ 더 이상 μ‚¬μš©λ˜μ§€ μ•Šμ„ 경우 dispose 됨

img

Last updated