React安装及基本使用
<p>从本栏起,我们开始系统的学习 <em><font color="#d63200">React</font></em>,本篇文章主要讲述 正式学习知识点之前需要做一些准备工作。<br>既然是学习,那么还是要看官方的文件,这边提供了预习资源:</p>
<h3 id="预习资源">预习资源</h3>
<ol>
<li>React</li>
<li>create-react-app</li>
</ol>
<p>同时我的开发环境是:</p>
<h3 id="开发环境">开发环境</h3>
<ol>
<li>vscode下载</li>
<li> node.js下载</li>
</ol>
<h3 id="起步">起步</h3>
<p>可以直接运行下面的 命令行,也可以使用 <em><font color="#d63200">npx</font></em> :</p>
<pre><code class="language-Shell"># 安装官方脚手架 并 初始化
npm install -g create-react-app
create-react-app react01
# 或者可以直接运行
npx create-react-app react01
</code></pre>
<p>运行完成之后,我们可以看到文件结构如下图:</p>
<p><img src="https://muzikou.github.io/img/react/tree.png" alt="index.html" loading="lazy"></p>
<p>下面我们来分析一下文件结构,此时我们 打开 <em><font color="#d63200">src -> index.js</font></em> ,可以看到这句代码:</p>
<pre><code class="language-js">ReactDOM.render(<App />, document.getElementById('root'));
</code></pre>
<p>这个就是一个项目最重要的两个组成部分,<em><font color="#d63200">React</font></em> 和 <em><font color="#d63200">reactDom</font></em> ,其中 <em><font color="#d63200">react</font></em> 负责逻辑控制,最终渲染的内容是由 <em><font color="#d63200">reactDom</font></em> 控制<br>
此时 <em><font color="#d63200">reactDom</font></em> 渲染的是 一个 纯粹的组件 <em><font color="#d63200">App</font></em> ,那么我们打开 <em><font color="#d63200">app.js</font></em> 并找到下面这段代码:</p>
<pre><code class="language-js">function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
</code></pre>
<p>此时的你是否会疑惑,这个标签语法既不是字符串也不是 <em><font color="#d63200">HTML</font></em>,那么是什么呢?请继续往下看<br>
上面我们初始一种新的语法,其实它被称为 <em><font color="#d63200">JSX</font></em> ,是一个 <em><font color="#d63200">JavaScript</font></em> 的语法扩展,实际核心的逻辑完全是 <em><font color="#d63200">JavaScript</font></em> 实现的。</p>
<h2 id="jsx">JSX</h2>
<ul>
<li><strong><font>表达式</font></strong></li>
</ul>
<p>我们打开此时项目的起始点是 <em><font color="#d63200">app.js</font></em> ,删除 <em><font color="#d63200">header</font></em> 标签及其内容,并更改以下内容,</p>
<pre><code class="language-js">function App() {
const name = 'name is muzi'
return (
<div>
{/* 表达式 */}
<h1> { name } </h1>
</div>
);
}
</code></pre>
<p>然后在终端运行如下指令,启动项目可以看到我们定义的 <em><font color="#d63200">name</font></em> 变量的值:</p>
<pre><code class="language-shell">npm run start
</code></pre>
<p><em><font color="#d63200">注意: </font></em> 在 <em><font color="#d63200">{ }</font></em> 中只要是合法的 <em><font color="#d63200">js</font></em> 表达式即可,例如 加减乘除、函数表达式等</p>
<p>下面我们列举一个函数表达式的使用,新定义一个 <em><font color="#d63200">formatName</font></em> 函数 和 <em><font color="#d63200">user</font></em> 变量并调用,修改代码如下:</p>
<pre><code class="language-js">function formatName(user){
return user.firstName + ' ' + user.lastName
}
function App() {
const user = {
firstName: 'mu',
lastName: 'zi'
}
return (
<div>
{/* 此处做一个函数表达式的使用 */}
<h1>{formatName(user)}</h1>
</div>
);
}
</code></pre>
<p><em><font color="#d63200">注意: </font></em>中合法是表达式不是条件语句,不能在 <em><font color="#d63200">{ }</font></em> 中写 条件语句或者 <em><font color="#d63200">for</font></em> 循环</p>
<ul>
<li><strong><font>属性值</font></strong></li>
</ul>
<p>如以 <em><font color="#d63200">img</font></em> 标签为例,我们设置其 <em><font color="#d63200">src</font></em> 属性 和 <em><font color="#d63200">style</font></em> 样式,新增代码如下:</p>
<pre><code class="language-js">function App() {
const styles = { width:'100px' }
return (
<div>
{/* 属性 */}
<img src={ logo } style={ styles }/>
</div>
);
}
</code></pre>
<p>此时 style 样式为一个对象,修改完成之后 可以去浏览器看结果。</p>
<ul>
<li><strong><font>jsx 也是表达式</font></strong></li>
</ul>
<p>此时我们定义一个 <em><font color="#d63200">jsx</font></em> 的变量,修改代码如下:</p>
<pre><code class="language-js">function App() {
const jsx = <p>hello,jsx 也是表达式</p>
return (
<div>
{/* jsx 也是表达式 */}
{ jsx }
</div>
);
}
</code></pre>
<p>上面这些就是基本语法,下一篇我们来介绍组件的创建方式和传值 React中组件的创建方式和传值</p><br><br>
来源:https://www.cnblogs.com/-muzi/p/11964716.html
頁:
[1]