๐ฆFlutter - ์์ ฏ ๊ถํ ๊ด๋ฆฌ
Stay tuned to learn how you can easily display widgets depending on the current user role.
use the widget ->
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์์ ฏ
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉ์์ ํ์ฌ ์ญํ ๊ณผ ์น์ธ์ ๋ฐ๋ ์์ ฏ์ ๋ง๋ค์์ต๋๋ค. ๊ถํ ๋ถ์ฌ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ ํจํ ์ญํ ์ด ํฌํจ๋ฉ๋๋ค. ์ ๋ฌ๋ ์ญํ ์ด ์ง์ ๋ ํ๋์ ์์ ฏ์ ์ ํจํ๋ฉด ์์ ์์ ฏ์ด ํ์๋ฉ๋๋ค. ๊ถํ ๋ถ์ฌ์ ์ญํ ์ ํ ๋นํ ์ ์๋ ๊ฒฝ์ฐ ์๋ฌด ๊ฒ๋ ํ์๋์ง ์์ต๋๋ค(๋๋ ๋น์ด ์๋ SizedBox ์์ ฏ).
์ค์ ๊ถํ ๋ถ์ฌ ์์ ฏ์ AnimatedSwitcher๋ฅผ ์ฌ์ฉํ์ฌ ์ญํ ์ด ๋ณ๊ฒฝ๋ ๋ ๋ถ๋๋ฌ์ด ์ค๋ฒํ๋ก๋ฅผ ์์ฑํ๋ ์ํ ๋น์ ์ฅ ์์ ฏ์ ๋๋ค.
์ต์ข ์์ ฏ์๋ ๋ค์ ์์ฑ์ด ํฌํจ๋ฉ๋๋ค...
final List<Tuple2<Authorization, Widget>> children;
final String role;
... and all attributes for an AnimatedSwitcher-Widget
์์ฑ์ ...
AuthorizationWidget(
{this.key,
this.children,
this.role,
[...]
})
: assert(role != null),
super(key: key);
๋น๋ ๋ฐฉ๋ฒ์์ Animated Switcher๋ฅผ ์ฌ์ฉํฉ๋๋ค.
@override
Widget build(BuildContext context) {
return AnimatedSwitcher(
key: key ?? GlobalKey(),
[...]
child: _getWidget(),
);
}
children ์์ฑ์๋ ๋ ๊ฐ์ ํํ(Tuple2) ๋ชฉ๋ก์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ํํ์ ํค ๊ฐ ์์น์ ๋ฐ๋ผ ์์ ฏ์ ์ธ์ฆ ๊ฐ์ฒด๋ฅผ ํ ๋นํฉ๋๋ค. ๊ถํ ๊ฐ์ฒด์์ ํ์ฌ ์ญํ ์ด ๋ฐ๊ฒฌ๋๋ฉด ํด๋น ์์ ฏ์ด ํ์๋ฉ๋๋ค. (๊ธฐ์ค์ ์ผ์นํ๋ ์ฒซ ๋ฒ์งธ ์์ ฏ๋ง ํ์๋๋ ์ ์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค.)
๊ฒฐ๊ณผ
๊ฒฐ๊ณผ ์์ ฏ์ Github ๋ฐ pub.dev์์ ์จ๋ผ์ธ์ผ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๋ชจ๋ Flutter ํ๋ก์ ํธ์ ํตํฉ๋ ์ ์์ต๋๋ค.
Github์ ์์ค ์ฝ๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
pub.dev์ ์ฌ์ฉํ์ฌ Flutter ํ๋ก์ ํธ์ ํตํฉ
ํผ๋๋ฐฑ
์์ ฏ์ ๋ ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ด๋์ด๋ ์ ์์ด ์์ผ๋ฉด ์ด ๊ฒ์๋ฌผ์ ์์ ๋กญ๊ฒ ๋๊ธ์ ๋ฌ์์ฃผ์ธ์.
ํฅํ Flutter์ ๊ทธ ๋ฉ์ปค๋์ฆ์ ๋ํด ์์ธํ ์์๋ณด๋ ค๋ฉด Github์์ ๋ด ํ๋กํ์ ํ๋ก์ฐํ์ธ์.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ฆFlutter - ์์ ฏ ๊ถํ ๊ด๋ฆฌ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/lucianojung/flutter-manage-widget-permissions-ifbํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค