Filestack is a robust set of tools and powerful APIs that allow you to upload, transform and deliver content easily.
React 是地球上最流行的 JavaScript 框架。您可以使用它来快速创建功能丰富的 Web 应用程序。此外,它使您能够轻松地向现有项目添加新功能,例如我们在网站上构建的React 图片上传器。
您只需要输入几行代码。它可以让你的生活更轻松。但是如何将 React 添加到现有项目中呢?步骤是什么?在这篇文章中,您将找到所有详细信息。
是的,您可以轻松地将 React 添加到您现有的应用程序中。这个过程非常简单。在这篇文章中,您将找到将 React 组件添加到现有 HTML 页面的方法。您可以按照相同的方法将其添加到您自己的网站。或者,您可以创建一个空的 HTML 文件进行练习。
将 React 添加到现有项目:所需设备
在本节中,您将添加一个 React 组件来修改您网站的现有 HTML 页面。以下是步骤:
首先,打开您要更改的 HTML 页面。创建一个空的 div 元素。这是您将使用 React 显示更改的区域。
<div id="medium_blog_container">
<!-- Here we will mount our component -->
</div>
接下来,您必须在结束 </body> 标记之前向 HTML 页面添加三个 <script> 标记。
前两个标签加载 React。第三个加载您的组件代码。
现在,您必须在 HTML 页面旁边创建一个名为 medium_post_component.js 的 JS 文件。
您可以使用 JSX 或不使用 JSX 来编写 React。上面显示的示例没有 JSX。它可以直接在浏览器上运行。
看看这两行:
您无需使用复杂的工具(如捆绑器或开发服务器)来将 JSX 添加到项目中。事实上,它与添加 CSS 预处理器非常相似。但是,您的 PC 上必须安装 Node.js。这是唯一的要求。添加 JSX 的过程非常简单。您只需要按照以下步骤操作:
首先,转到终端中的项目文件夹。
现在,运行以下命令
npm init -y
如果上述命令失败,请运行此命令:
npm install babel-cli@6 babel-preset-react-app@3
而已!你已经成功地为你的项目添加了一个生产就绪的 JSX 设置。
要运行 JSX 预处理器,您必须创建一个名为“src”的文件夹。然后在终端中运行这个命令:
npx babel --watch src --out-dir . --presets react-app/prod
提示:您是否看到一条错误消息“您错误地安装了 babel 包”?您可能错过了上一步。尝试在同一文件夹中执行它。它应该解决这个问题。
您不必等待该过程完成。上述命令为 JSX 启动了一个自动观察器。
如果您在 src 文件夹中创建一个名为 like_button.js 的文件,观察程序将创建一个预处理的 like_button.js 文件。它将具有适合浏览器的纯 JavaScript 代码。
此外,它还允许您利用现代 JavaScript 语法功能。例如,您可以使用类而不用担心破坏旧的浏览器。
请记住,npx 不是拼写错误。它是 npm 5.2+ 附带的包运行器工具。
有大量用于调用 API 的库。然而,这些是最受欢迎的是:
Fetch() 是一个基于浏览器的 API。您可以使用它进行 HTTP 调用。让我们看一下 Fetch API 的标准语法。
let response = fetch(
API_URL,
.... (some more options)
);
在这里,您正在调用一个名为 getNames 的函数。它获取数据。此外,它还获取其他参数。像:
下面是一个在 React 中使用 Fetch 的例子:
async getName(){
//With .then and .catch section
let response = await fetch("https://jsonplaceholders.com/users") .then(resposne => { return response.json(); this.setState({ names:response })}) .catch(error => { console.log(error); }); }
重用组件
您可能希望在 HTML 页面的多个位置显示 React 组件。为此,您必须执行以下步骤:
转到您的 HTML 文件。然后添加这些行:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Add React in One Minute</title> </head> <body> <h2>Add React in One Minute</h2> <p>This page demonstrates using React with no build tooling.</p> <p>React is loaded as a script tag.</p> <p> This is the first comment. <!-- We will put our React component inside this div. --> <div class="like_button_container" data-commentid="1"></div> </p> <p> This is the second comment. <!-- We will put our React component inside this div. --> <div class="like_button_container" data-commentid="2"></div> </p> <p> This is the third comment. <!-- We will put our React component inside this div. --> <div class="like_button_container" data-commentid="3"></div> </p> <!-- Load React. --> <!-- Note: when deploying, replace "development.js" with "production.min.js". --> <script src="https://unpkg.com/react@18/umd/react.development.js" crossorigin></script> <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js" crossorigin></script> <!-- Load our React component. --> <script src="like_button.js"></script> </body> </html>
转到您的 JavaScript 文件。插入此代码:
'use strict'; const e = React.createElement; class LikeButton extends React.Component { constructor(props) { super(props); this.state = { liked: false }; } render() { if (this.state.liked) { return 'You liked comment number ' + this.props.commentID; } return e( 'button', { onClick: () => this.setState({ liked: true }) }, 'Like' ); } } // Find all DOM containers, and render Like buttons into them. document.querySelectorAll('.like_button_container') .forEach(domContainer => { // Read the comment ID from a data-* attribute. const commentID = parseInt(domContainer.dataset.commentid, 10); const root = ReactDOM.createRoot(domContainer); root.render( e(LikeButton, { commentID: commentID }) ); });
请记住,当页面的各个部分彼此隔离时,该方法很有用。但是在 React 代码中,你应该使用组件组合。因为它更容易使用。
未压缩的 JavaScript 会显着影响页面速度。它会让用户感到沮丧。这就是为什么您需要在部署 React 应用程序之前压缩 JavaScript。它将提高加载速度和用户体验。
您是否已经缩小了您的应用程序脚本?您是否确保部署的 HTML 加载了以 production.min.js 文件结尾的 React 版本?如果完成,您的站点就可以投入生产了。
<script src="https://unpkg.com/react@18/umd/react.production.min.js" crossorigin></script> <script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js" crossorigin></script>
如果您的脚本没有缩小步骤,您可以按照以下步骤进行设置:
首先,你必须安装 Node.js
然后在你的项目文件夹中运行以下命令:
npm init -y
接下来,运行此命令:
npm install terser
最后,是时候缩小文件了。如果你想缩小一个名为 like_button.js 的文件,只需在终端中运行此命令:
npx terser -c -m -o like_button.min.js -- like_button.js
您将看到一个名为 like_button.min.js 的新文件的创建。它将包含所有缩小的代码。
您可以通过将以下 <script> 标记添加到您的页面来在您的项目中快速试用 JSX:
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
现在,您可以开始在任何 <script> 标签中使用 JSX。你只需要给它添加 type=”text/babel” 属性。
下面是一个带有 JSX 的 HTML 文件的例子:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Hello World</title> <script src="https://unpkg.com/react@18/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script> <!-- Don't use this in production: --> <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> </head> <body> <div id="root"></div> <script type="text/babel"> function MyApp() { return <h1>Hello, world!</h1>; } const container = document.getElementById('root'); const root = ReactDOM.createRoot(container); root.render(<MyApp />); </script> <!-- Note: this page is a great way to try React but it's not suitable for production. It slowly compiles JSX with Babel in the browser and uses a large development build of React. Read this section for a production-ready setup with JSX: https://reactjs.org/docs/add-react-to-a-website.html#add-jsx-to-a-project In a larger project, you can use an integrated toolchain that includes JSX instead: https://reactjs.org/docs/create-a-new-react-app.html You can also use React without JSX, in which case you can remove Babel: https://reactjs.org/docs/react-without-jsx.html --> </body> </html>
filestack-react 是 filestack-js sdk 的包装器。它使您只需几行代码即可与 Filestack 服务集成。您可以利用它来显着改善文件上传器的外观和性能。
首先,您必须使用以下命令安装 Filestack 的 React SDK:
npm install filestack-react
接下来,您可以将 filestack-react 插入到您的应用程序中。
import { PickerOverlay } from 'filestack-react'; <PickerOverlay apikey={YOUR_API_KEY} onSuccess={(res) => console.log(res)} onUploadDone={(res) => console.log(res)} />
您可以使用它毫不费力地添加各种功能。例如,您可以使用以下行呈现基本的下拉窗格选择器:
<PickerDropPane apikey='YOUR_APIKEY'/>
您可以使用 Filestack 在 React 中轻松启用文件上传。您可以在此处找到详细信息。
在本文中,您学习了将 React 添加到现有项目中。此外,您还了解了一些有用的技巧,例如重用组件和缩小生产中的 JavaScript。现在,您可以开始利用 React 并轻松地为现有项目添加惊人的功能。
什么是 React 组件?
这些组件是 React 的核心构建块之一。它们是独立且可重用的代码位。它们使您能够轻松地为您的应用程序构建 UI。
如何使用 npx 创建 React 应用程序?
您可以使用以下命令使用 npx 创建 React 应用程序:“npx create react app”。
编码中的 React 是什么?
React 是一个高效灵活的 JavaScript 库。它使您能够通过使用称为“组件”的小而独立的代码片段轻松构建复杂的用户界面。
使用 Filestack 免费注册并体验适用于您的 Web 应用程序的最佳文件上传解决方案。