引言
作为前端开发的必备技能,React以其组件化思想和高效的DOM操作机制,成为构建现代Web应用的首选框架之一。本文将带你从零开始,掌握React的核心概念和基础用法,通过实际代码示例理解React开发模式。
一、 React项目结构解析
React项目采用模块化组织方式,典型的目录结构如下:
- public (静态资源)
- src (源代码)
- components (组件目录)
- App.js (根组件)
- index.js (入口文件)
入口文件index.js负责将React应用挂载到HTML页面:
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);
二、 JSX:JavaScript与HTML的完美结合
JSX是React的核心语法,允许我们在JavaScript中直接编写HTML-like代码:
// JSX基本语法示例
function App() {
return (
<div>
<h1>Hello Ricardo</h1>
</div>
)
}
JSX的主要特点:
- 使用
{}嵌入JavaScript表达式 - 支持条件渲染和循环渲染
- 类名使用
className而非class - 内联样式需使用对象形式
三、 组件化开发
React应用由多个独立组件构成,组件分为函数组件和类组件,目前推荐使用函数组件:
1. 函数组件基础
function App() {
return (
<h1>你好, 我是 react 项目</h1>
)
}
export default App;
2. 组件通信
父组件通过props向子组件传递数据:
父组件App.js
import List from './components/List'
function App() {
const songs = [
{id: 1, name: '素颜'},
{id: 2, name: '晴天'},
{id: 3, name: '爱在西元前'}
]
return (
<div>
<h1>Hello Ricardo</h1>
<List data={songs}></List>
</div>
)
}
子组件List.js
function List(props) {
return(
<ul>
{
props.data.map((item) => <li key={item.id}>{item.name}</li>)
}
</ul>
)
}
export default List;
效果图:
列表渲染
在React中渲染列表需注意:
- 使用
map()方法遍历数组 - 为每个列表项提供唯一的
key属性 key应避免使用索引值
四、 结语
本文介绍了React的基础概念,包括项目结构、JSX语法和组件通信。React的学习是一个循序渐进的过程,后续我们将深入探讨Hooks、状态管理和路由等高级主题。
掌握React不仅能提高开发效率,更能帮助你构建可维护、可扩展的前端应用。开始你的React之旅吧!