Flutter - Provider

state

  • Ephemeral State : ํ˜„์žฌ ์œ„์ ฏ๋งŒ ํ•„์š”ํ•œ state

  • App State : ์—ฌ๋Ÿฌ ์œ„์ ฏ๋“ค์ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ state

state ๊ด€๋ฆฌ

  • ๋ฃจํŠธ ๋…ธ๋“œ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” state๊ฐ€ ์กด์žฌ

  • ์ตœํ•˜์œ„ ๋…ธ๋“œ์—์„œ ์ด state๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ƒ์„ฑ์ž๋กœ state๋ฅผ ์ตœํ™”์œ„ ๋…ธ๋“œ๊นŒ์ง€ ์ „๋‹ฌ ํ•ด์•ผํ•จ

  • ํŽธํ•˜๊ฒŒ ๋ถ€๋ชจ์˜ state์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด provider ์‚ฌ์šฉ

provider

  • ChangeNotifier : state๋ฅผ ๋‹ด์„ ํด๋ž˜์Šค

  • ChangeNotifierProvider : ์ž์‹ ์œ„์ ฏ์— state๋ฅผ ์ „๋‹ฌํ•ด์ค„ ์œ„์ ฏ

  • Consumer :

    • ChangeNotifier ํด๋ž˜์Šค์—์„œ notifyListeners ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์‹คํ–‰๋จ

    • ์ž์‹ ์œ„์ ฏ rebuild

  • Provider.of : ์ž์‹ ์œ„์ ฏ์—์„œ Provider๊ฐ€ ์ œ๊ณตํ•œ state ์ ‘๊ทผ

  • Selector : ์ง€์ •ํ•œ ์กฐ๊ฑด์ด ๋งŒ์กฑํ•  ๊ฒฝ์šฐ ์ž์‹ ์œ„์ ฏ rebuild

  • context.watch : ๊ฐ’์˜ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•˜์—ฌ ์œ„์ ฏ rebuild

  • context.read : ๋ณ€๊ฒฝ๋œ ๊ฐ’๋งŒ ๊ฐ€์ง€๊ณ  ์˜ด

Last updated