javascript - 如何将 vanilla js 获取代码转换为反应?
问题描述
我用 Vanilla JS 编写了这段代码
function MovieGrid() {
fetch(apiUrl)
.then(function(res){
return res.json();
})
.then(function(data) {
console.log(data);
return( `<ul>
<li><img src="https://image.tmdb.org/t/p/w185/${data.results.poster_path}" alt="" /></li>
<li>${data.results.title}</li>
</ul>`)
})
.catch(function(err){
console.log(err);
});}
这段代码在香草中工作,但我正在开发的应用程序是在反应中开发的。那么如何将上面的代码转换为工作反应组件呢?
解决方案
使用 Fetch API 在 React 中获取数据
组件挂载后总是发出网络请求
useEffect()
如果您正在使用功能组件,请在内部使用 fetch API
例子:
import {
useEffect
} from 'react';
const Component = () => {
useEffect(() => {
// use fetch inside here
}, [])
return (
// .... JSX Element
)
}
export default Component;
componentDidMount()
如果您使用的是类组件,请在内部使用 fetch API ;
此链接中更多有用的文章在反应中获取数据
推荐阅读
- python - 必须使用对象 pk 或 slug 调用 Django 通用详细视图,但我的 URL 已经有 PK
- python - PyZipper 使用正确的密码返回“文件密码错误”
- pointers - Golang:为什么 *File 而不是 File
- ios - 在 Swift 的同一字段中添加文本和图像
- php - 查找两个不同的键在 2 个数组 PHP 中是否具有相同的值
- amazon-web-services - AWS Textract 没有选择单选按钮
- java - 修改jar文件里面的信息
- r - 使用栅格网格提取行数据
- c# - 如何在excel vsto addin中获取mergeare的列数
- reactjs - 即使我可以控制台记录它,React 应用程序也不会从道具中呈现信息