const CustomerLayout = () => {
const navigation = useNavigation<any>();
const [refresh, setRefresh] = useState(false);
const tabs: TopTabType[] = Object.entries(MatchingStatus).map(([key, value]) => {
return {
label: value,
name: key,
component: (props) => <CustomerScreen {...props} name={key} />,
};
});
const reRender = () => {
setRefresh(!refresh);
};
useEffect(() => {}, [reRender]);
return (
<View className="h-full gap-4 p-4 bg-white">
<Div className="flex-row items-center justify-between pb-4">
<H1>고객 관리</H1>
<Button
onPress={() => {
navigation.navigate('UserFormByTrainer', {
onChange: () => {
alert('발동');
reRender();
},
});
}}
icon="solar:pen-2-bold-duotone"
>
고객 등록
</Button>
</Div>
<TopTabs tabs={tabs} />
</View>
);
};
export default CustomerLayout;
- useState 와 useEffect 반드시 같이 사용