我有兩個異步函式。一個呼叫另一個。然后最后一個呼叫另一個函式,這個函式有一個邏輯,應該在HTML中列印一些東西。
a(異步)呼叫b(異步)呼叫c(應該列印一些東西)
function imprimeBlocos() {
for (var i = 0; i < dados. state.subsistemas.length; i ) {
console.log(dados.state。 subsistemas[i].nome); //I WANNA TRANSFORM THIS CONSOLE.LOG INTO A < p>
for (var j = 0; j < dados. state.pessoas.length; j ) {
if (dados.state.pessoas[j] 。 idsubsistema === dados.state.subsistemas[i].id) {
console.log(dados.state。 pessoas[j].nomecompleto); //I WANNA TRANSFORM THIS CONSOLE.LOG INTO A < p>
}
}
}
}
async function selecionaPessoas() { /function b
return Axios.post("http://localhost:3001/api/selecionaPessoas"/span>, {})。 then((response) =>/span> {
setPessoas(response.data)。
dados.setPessoas(pessoas)。
imprimeBlocos(); /calls function c.
});
}
async function selecionaSubsistemas() { /function a
return Axios.post("http://localhost:3001/api/selecionaSubsistemas"/span>, {}). then((response) =>/span> {
setSubsistemas(response.data)。
dados.setSubsistemas(subsistemas)。
selecionaPessoas(); /calls function b.
});
我如何做到這一點?
我如何做到這一點?
uj5u.com熱心網友回復:
你應該使用一個狀態來保存函式中的資料,然后在你想呈現它的地方,它將更新樹。
const [data, setData] = useState([] ) 。
function imprimeBlocos() {
const data = data.state.subsistemas。 map(({ id, nome }) => (
<React.Fragment key={id}>/span>
<p>{nome}</p>
{dados.state.pessoas.map(
({ idsubsistema, nomecompleto }) =>
idsubsistema === id && <p>{nomecompleto}< /p>
)}
</React.Fragment>>
));
setData(資料)。
}
使用一個for回圈,我有一個初始的空資料陣列,我在id檢查后用有效的<p>元素填充該陣列。
const [data, setData] = useState([]); //span>
function imprimeBlocos() {
const data = [];
const subsistemas = data.state.subsistemas;
for (let i = 0; i < subsistemas.length; i ) {
let children = [] 。
const subsistemasItem = subsistemas[i];
const pessoas = dados.state.pessoas;
for (let j = 0; j < pessoas.length; j ) {
const pessoasItem = pessosas[j];
if (pessoasItem.id == subsistemasItem.id) {
children.push((
<p>
{pessoasItem.nomecompleto}.
</p>
));
}
}
data.push((
<React.Fragment key={subsistemasItem.id}>
<p>{subsistemasItem.nome}</p>
{children}</p>?
</React.Fragment>
));
}
setData(data);/span>
然后無論你想在哪里渲染它,你可以做這樣的事情
return (
<div>
{data}
</div>
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/327656.html
標籤:
上一篇:jib-maven-pluginI/Oerrorforimage[registry-1.docker.io/library/adoptopenjdk]。
