Привет, у меня есть простая панель, которая показывает, сколько объектов имеет каждый раздел, в настоящее время мой код показывает правильное число при первой загрузке, проблема в том, когда пользователь вставляет новый объект в один раздел, так как функция не загружается опять же это не приносит новое значение
это мой код API, это тот, который мне нужно клонировать или инициализировать каждый раз, когда отображается экран
const Panel = ({navigation}) => {
const [irregularities, setvirregularities] = useState();
const [approved, setvapproved] = useState();
const [sent, setvsent] = useState();
const [rejected, setvrejected] = useState();
useEffect(() => {
async function Badge() {
const vCreationUser = await AsyncStorage.getItem('id');
const { data } = await ForceApi.post(`/GetTotalRequestController.php`, {vCreationUser});
console.log('UNO');
setvirregularities(data.irregularities);
setvapproved(data.request_approved);
setvsent(data.sent);
setvrejected(data.rejected);
}
Badge();
},[]);
это где я показываю Информация, которую я получаю от API
return (
<View style={styles.container}>
<View style={styles.buttonContainer}>
<View>
<TouchableOpacity style={styles.linkContainer} onPress={() => navigation.navigate('Solicitudes1')}>
<View style={irregularities == 0 ? styles.Badge2 : styles.Badge} ><Text style={styles.BadgeTXT}>{irregularities >= 100 ? '99+' : irregularities}</Text></View>
<View style={styles.buttonTextContainer}><Text style={styles.textPanel}>Irregularidades</Text></View>
</TouchableOpacity>
</View>
<TouchableOpacity style={styles.linkContainer} onPress={() => navigation.navigate('Solicitudes2')}>
<View style={approved == 0 ? styles.Badge2 : styles.Badge} ><Text style={styles.BadgeTXT}>{approved >= 100 ? '99+' : approved}</Text></View>
<View style={styles.buttonTextContainer}><Text style={styles.textPanel}>Cons. Apro.</Text></View>
</TouchableOpacity>
<TouchableOpacity style={styles.linkContainer} onPress={() => navigation.navigate('Solicitudes3')}>
<View style={sent == 0 ? styles.Badge2 : styles.Badge} ><Text style={styles.BadgeTXT}>{sent >= 100 ? '99+' : sent}</Text></View>
<View style={styles.buttonTextContainer}><Text style={styles.textPanel}>Enviadas</Text></View>
</TouchableOpacity>
<TouchableOpacity style={styles.linkContainer} onPress={() => navigation.navigate('Solicitudes4')}>
<View style={rejected == 0 ? styles.Badge2 : styles.Badge} ><Text style={styles.BadgeTXT}>{rejected >= 100 ? '99+' : rejected}</Text></View>
<View style={styles.buttonTextContainer}><Text style={styles.textPanel}>Rechazadas</Text></View>
</TouchableOpacity>
</View>
</View>
);
TLDR: это что-то вроде уведомления на Facebook, проблема в том, что мне нужно перезапускать useEfect каждый раз, когда происходит изменение значений