【发布时间】:2021-02-15 15:25:35
【问题描述】:
我的反应组件在无限循环中多次渲染。我错过了什么?
这是我的代码。
const DocViewer = ({ title, closeModal }) => {
const [docsSimilares, setDocsSimilares] = useState([]);
const baseUrl = '/docs'
async function similares() {
return await axios.get(`${baseUrl}/${title}`).then(data => setDocsSimilares(data.data.body.hits.hits[0]._source.documentos_similares))
}
similares().then(console.log(docsSimilares))
return (
<div class="row">
<div class="column pdf">
<h1>{title}</h1>
<PDFViewer url={sFileNameDemo} />
</div>
<div class="column semelhantes">
<button onClick={closeModal} >Fechar</button>
<p>{docsSimilares.map(doc => (
<div>
<p>{doc}</p>
<img alt={doc} src={doc} width="100%" />
</div>
))}</p>
</div>
</div>
);
}
export default DocViewer
【问题讨论】:
-
张贴整页,但我已经看到了问题
-
.then(console.log(docsSimilares))不等待承诺解决,它只是立即调用console.log!
标签: javascript reactjs