
๋ชจ๋ฐ์ผ ์ฑ์ ์ฌ์ฉํ๋ค ๋ณด๋ฉด
"๋ก๊ทธ์ธ์ด ์๋ฃ๋์์ต๋๋ค"
"์ ์ฅ์ด ์คํจํ์ต๋๋ค"
"์ธํฐ๋ท ์ฐ๊ฒฐ์ ํ์ธํ์ธ์"
๊ฐ์ ๋ฉ์์ง๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์๋ณด๊ฒ ๋๋ค.
์ด๋ฐ ๋ฉ์์ง๋ ๋จ์ํ ์๋ฆผ์ ๋์ด์
์ฌ์ฉ์ ํผ๋๋ฐฑ(Feedback)์ ํต์ฌ ์์๋ค.
์ด๋ฒ ๊ธ์ React Native์์ ์ฌ์ฉ์์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ๋ฒ๋ค๊ณผ
๊ทธ์ ๋ฐ๋ฅธ UX ์ค๊ณ ์ ๋ต์ ์ ๋ฆฌํ ๊ธ์ด๋ค.
| ๋ฐฉ์ | ์ค๋ช |
|---|---|
| ํ๋ซํผ Toast | Android์ Toast API ์ฌ์ฉ |
| ์ปค์คํ Toast | react-native-toast-message ๋ฑ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ |
npm install react-native-toast-message
import Toast from 'react-native-toast-message';
export default function App() {
return (
<>
<YourNavigation />
<Toast />
</>
);
}
Toast.show({
type: 'success',
text1: '๐ ์ ์ฅ ์๋ฃ',
text2: '์
๋ ฅํ ์ ๋ณด๊ฐ ์ ์์ ์ผ๋ก ์ ์ฅ๋์์ด์',
});
Toast.show({
type: 'error',
text1: 'โ ์์ฒญ ์คํจ',
text2: '์๋ฒ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ด์. ๋ค์ ์๋ํด์ฃผ์ธ์.',
position: 'bottom',
});
const handleSubmit = async () => {
try {
await submitForm();
Toast.show({
type: 'success',
text1: '์ ์ก ์๋ฃ',
});
} catch (err) {
Toast.show({
type: 'error',
text1: '์ ์ก ์คํจ',
text2: err.message,
});
}
};
โ
์ฑ๊ณต/์คํจ ์ ๊ฐ๊ฐ ๋ค๋ฅธ ๋ฉ์์ง ์ถ๋ ฅ
โ
์ค๋ฅ ๋ฉ์์ง๋ ์๋ฒ์์ ๋ฐ์ ๋ด์ฉ ๊ทธ๋๋ก ์ถ๋ ฅ ๊ฐ๋ฅ
| ํญ๋ชฉ | ์ ๋ต |
|---|---|
| ์ค๋ณต ํ ์คํธ ๋ฐฉ์ง | Toast.show ์ ์ ๊ธฐ์กด ํ ์คํธ dismiss ์ฒ๋ฆฌ |
| ๊ธ๋ก๋ฒ ๋ฉ์์ง ์ฒ๋ฆฌ | ์ ์ญ ์๋ฌ ํธ๋ค๋ฌ ๋๋ ์ํ์ ๋ฐ๋ผ ์ฒ๋ฆฌ |
| ํฐ์น ๋ถ๊ฐ ์์ญ | Toast๋ ํ๋ฉด ๋งจ ์/์๋ ๋ฐฐ์น๋ก UX ์นจํด ์ต์ํ |
| ์ ๋๋ฉ์ด์ ํจ๊ณผ | ์ฌ๋ผ์ด๋, ํ์ด๋ ๋ฑ ์ ์ ํ ์ค์ ๊ฐ๋ฅ |
toastMessage) ๊ด๋ฆฌ ๊ฐ๋ฅToast๋ ์ฌ์ํ ๊ธฐ๋ฅ ๊ฐ์ง๋ง
์ ์ ๊ฐ ์ฑ๊ณผ ์ํตํ๋ ๊ฐ์ฅ ์ค์ํ ์ ์ ์ด๋ผ๋ ๊ฑธ ์๊ฒ ๋๋ค.
์ง๊ธ์ ์ํ ์ฒ๋ฆฌ ํ๋ฆ์์ ํ ์คํธ ์๋ฆผ๊น์ง ํฌํจํด
UX ํ๋ฆ์ด ๋๊ธฐ์ง ์๋๋ก ์ค๊ณํ๊ณ ์๋ค.
๐ โ์ฑ์ ๋ง์ ํ ์ ์๋ค. ๋์ Toast๊ฐ ๋งํด์ค๋ค.โ