如何在React中实现Material-UI
React.js是创建Web应用程序时使用的主要框架之一。它使开发人员能够创建SEO友好和高度互动的组件。React.js的功能还能提升维护和整体生产力。在React.js项目中,Material UI库的整合将事情提升到一个新的水平。
Material-UI的介绍
Material-UI只是一个库,它允许我们导入和使用不同的组件,在我们的React应用程序中创建一个用户界面。这节省了大量的时间,因为开发人员不需要从头开始编写一切。
Material-UI部件在很大程度上受到谷歌构建用户界面原则的启发。因此,开发人员很容易建立视觉上吸引人的应用程序。
目标
在React.js应用程序中加入Material-UI库并使用其组件。
前提条件
在本教程中,请确保你的电脑上安装了[npm]。我们将使用npm下载并在我们的应用程序中安装所需的依赖项。你还需要一个代码编辑器。本教程使用Visual Studio Code。
让我们跳到很酷的东西。
第1步 - 开始工作
导航到你想要的文件夹,通过在终端或cmd中输入以下命令,创建一个React项目。
npx create-react-app materialuiexample
请注意,这个构建过程可能需要一些时间,取决于你的网速。
一旦安装完成,在你的代码编辑器中打开该文件夹。然后,输入npm start ,启动开发服务器。你可以通过在浏览器中导航到http://localhost:3000/ ,查看默认的React应用程序。
第2步 - 安装Material-UI的依赖项
我们必须安装Material-UI以访问其不同的功能或组件。打开你的终端,并确保你在你的应用程序的主文件夹内。
在终端中输入npm install @material-ui/core ,然后点击enter.
运行下面的命令,在我们的项目中使用Material-UI图标。
npm install @material-ui/icons
我们可以通过检查package.json来确认上述依赖性已经安装。如下图所示。
"dependencies": {
"@material-ui/core": "^4.11.2", //material-ui
"@material-ui/icons": "^4.11.2", //material-ui icons
"@testing-library/jest-dom": "^5.11.9",
"@testing-library/react": "^11.2.3",
"@testing-library/user-event": "^12.6.0",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.1",
"web-vitals": "^0.2.4"
},
第3步 - 修改项目
默认情况下,每个React项目都带有某些文件和模板。例如,当你导航到http://localhost:3000/ ,你会注意到你有一个带有react标志的网页。让我们消除这些元素以避免混淆。打开你的app.js 文件,删除div 标签中的所有代码。
import './App.css';
function App() {
return (
<div className="App">
{/* code goes here */}
</div>
);
}
export default App;
第4步 - Material-UI组件的应用
为了使用Material-UI组件,我们首先需要把它们导入我们的项目。这一点已经完成,如下图所示。
import './App.css';
import {Button} from '@material-ui/core'; //importing material ui component
function App() {
return (
<div className="App">
<Button> Press me </Button> //using the material ui component in our project
</div>
);
}
export default App;
当你刷新你的浏览器时,你会看到一个button ,上面写着press me 。然而,这个按钮的样式并不正确。我们可以使用props ,来对按钮以及其他组件进行样式设计。Props 是传递给元素的基本属性。
我们在项目中导入的Material-UI按钮是有样式的,如下图所示。
<Button color="primary" variant="contained"> Press me </Button>
我们也可以在我们的项目中导入并使用一个TextField部件,如下图所示。
<TextField id="name" label="Name" variant="outlined" />
在上面的例子中,variant 变量帮助我们定义我们的TextField应该如何出现。
我们还可以创建一个独立的组件并将其导入另一个文件。例如,让我们创建一个独立的NavBar 组件。在src 文件夹中,创建一个新文件,并命名为NavBar.js 。在这个文件中添加以下代码。
import React from "react";
import {AppBar, Toolbar, Typography} from '@material-ui/core';
function Header(){
return (
<AppBar position='static'>
<Toolbar>
<Typography>React Navbar Example</Typography>
</Toolbar>
</AppBar>
);
}
export default Header;
注意,AppBar,Toolbar, 和Typography 都是Material-UI部件的一部分。排版小组件有助于突出将出现在工具栏中的项目。在我们的例子中,工具栏将显示标题React Navbar Example 。
下一步是将上述组件导入app.js文件中。要做到这一点,在app.js 文件的顶部添加以下一行--在导入语句中。
import Header from './NavBar.js';
我们可以通过在div 标签中添加<Header/> 来使用该部件。
这里是完整的代码。
import './App.css';
import {Button} from '@material-ui/core'; //importing material ui component
import {TextField} from '@material-ui/core';
import AccountCircle from '@material-ui/icons/AccountCircle';
import Header from './NavBar.js';
function App() {
return (
<div className="App">
<br/>
<Header/> //importing the navbar component
<Button color="primary" variant="contained"> Press me </Button>
<br/><br/>
<TextField id="outlined-basic" label="Name" variant="outlined" />
<br/><br/>
<AccountCircle/>
</div>
);
}
export default App;
你可以按照这个例子在你的项目中加入其他Material-UI部件。
总结
从上面的教程中,我们已经学到了。
- Material-UI需要什么。
- 如何在ReactJS应用程序中添加Material-UI的依赖性。
- 如何使用Material-UI组件和图标。
我们还看到,通过在React应用程序中加入Material-UI,建立高度吸引人的网站是多么容易。因此,你可以使用这些信息来构建遵守材料设计原则的复杂应用程序。