Итак, я пытаюсь получить это значение из функции asyn c, пока все хорошо, но я не могу получить это значение и передать его своему компоненту, как показано:
- Я использую реакцию с Ioni c 5.
const IdeiaId: React.FC<projectIdInterface> = (props) => {
const [idProjeto, setIdProjeto] = useState<number>(0);
const [ativo, setAtivo] = useState<boolean>(true);
const [criadoEm, setcriadoEm] = useState<string>("");
const [imgIdeia, setImgIdeia] = useState<string>("");
const [descricao, setDescricao] = useState<string>("");
const [subtitulo, setSubtitulo] = useState<string>("");
const [titulo, setTitulo] = useState<string>("");
const [status, setStatus] = useState<string>("");
useIonViewWillEnter(() => {
const idIdeia = +props.match.params.id;
let resp = Requests.lerIdeia(idIdeia);
resp.then((res) => {
if (res && res.ok) {
if (res.data) {
res = res.data;
res[OBJKEYS.projects.proPk] ? setIdProjeto(res[OBJKEYS.projects.proPk]) : setIdProjeto(0);
res[OBJKEYS.projects.imagePath] ? setImgIdeia(OBJKEYS.images.imageUrl + res[OBJKEYS.projects.imagePath]) : setImgIdeia(OBJKEYS.images.defaultAvatar);
res[OBJKEYS.projects.proAtivo] ? setAtivo(res[OBJKEYS.projects.proAtivo] === '1') : setAtivo(false);
res[OBJKEYS.projects.criadoEm] ? setcriadoEm(res[OBJKEYS.projects.criadoEm]) : setcriadoEm('');
res[OBJKEYS.projects.descricao] ? setDescricao(res[OBJKEYS.projects.descricao]) : setDescricao('');
res[OBJKEYS.projects.subtitulo] ? setSubtitulo(res[OBJKEYS.projects.subtitulo]) : setSubtitulo('');
res[OBJKEYS.projects.titulo] ? setTitulo(res[OBJKEYS.projects.titulo]) : setTitulo('');
res[OBJKEYS.status.status] ? setStatus(res[OBJKEYS.status.status]) : setStatus('');
} else {
console.log(res.errors);
}
}
});
});
console.log(idProjeto);
return (
<IonPage>
<Header name="Ideia"></Header>
<ProjetoImageSlides idProjeto={idProjeto} key={0} />
<IonContent>
<div></div>
<h1>{titulo}</h1>
</IonContent>
</IonPage>
);
};
Как лучше всего решить эту проблему? Итак, я получаю это значение idProjeto из функции asyn c и хочу передать его в компонент ProjetoImageSlides, но оно не обновляется при изменении значения, потому что оно загружалось раньше. Что я могу сделать? Должен ли я загружать его после получения значения?