React基础入门:从JSX到组件通信的实战指南

118 阅读2分钟

引言

作为前端开发的必备技能,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;

效果图:

image.png

列表渲染

在React中渲染列表需注意:

  • 使用map()方法遍历数组
  • 为每个列表项提供唯一的key属性
  • key应避免使用索引值

四、 结语

本文介绍了React的基础概念,包括项目结构、JSX语法和组件通信。React的学习是一个循序渐进的过程,后续我们将深入探讨Hooks、状态管理和路由等高级主题。

掌握React不仅能提高开发效率,更能帮助你构建可维护、可扩展的前端应用。开始你的React之旅吧!