首页 > web前端 > js教程 > 反应基础知识

反应基础知识

DDD
发布: 2024-09-19 06:19:37
原创
1040 人浏览过

以下是关键 React 术语的解释和示例:

1。组件

组件是 React 应用程序的构建块。它是一个 JavaScript 函数或类,返回 UI(用户界面)的一部分。

功能组件(现代 React 中常见):

function Welcome(props) {
  return <h1>Hello, {props.name}!</h1>;
}
登录后复制

类组件(旧样式):

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}!</h1>;
  }
}
登录后复制

2。 JSX(JavaScript XML)

JSX 允许您在 JavaScript 中编写类似 HTML 的语法。它是 React.createElement() 的语法糖。

示例:

const element = <h1>Hello, world!</h1>;

JSX is compiled to:

const element = React.createElement('h1', null, 'Hello, world!');
登录后复制

3。道具(属性)

Props 是数据从一个组件传递到另一个组件的方式。它们是只读的并允许组件是动态的。

示例:

function Greeting(props) {
  return <h1>Hello, {props.name}!</h1>;
}

<Greeting name="Alice" />
登录后复制

4。状态

State 是一个 JavaScript 对象,它保存动态数据并影响组件的渲染输出。它可以使用 setState(类组件)或 useState hook(功能组件)进行更新。

功能组件中 useState 的示例:

import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>Click me</button>
    </div>
  );
}
登录后复制

5。挂钩

Hooks 是允许您在功能组件中使用状态和其他 React 功能的函数。

useState:管理功能组件中的状态。
useEffect:在功能组件中运行副作用。

使用示例效果:

import { useState, useEffect } from 'react';

function Timer() {
  const [seconds, setSeconds] = useState(0);

  useEffect(() => {
    const interval = setInterval(() => {
      setSeconds(seconds => seconds + 1);
    }, 1000);

    return () => clearInterval(interval);
  }, []);

  return <h1>{seconds} seconds have passed.</h1>;
}
登录后复制

6。虚拟 DOM

虚拟 DOM 是真实 DOM 的轻量级副本。 React 使用它来跟踪更改并通过仅重新渲染发生更改的 DOM 部分而不是整个页面来有效地更新 UI。

7。事件处理

React 使用驼峰式命名法代替小写字母作为事件处理程序,并且将函数而不是字符串作为事件处理程序传递。

Example:

function ActionButton() {
  function handleClick() {
    alert('Button clicked!');
  }

  return <button onClick={handleClick}>Click me</button>;
}
登录后复制

8。渲染

渲染是React将DOM元素输出到浏览器的过程。组件根据 props、状态和其他数据渲染 UI。

示例:

import ReactDOM from 'react-dom';

function App() {
  return <h1>Hello, React!</h1>;
}

ReactDOM.render(<App />, document.getElementById('root'));

登录后复制

9。条件渲染

您可以根据条件渲染不同的组件或元素。

示例:

function Greeting(props) {
  const isLoggedIn = props.isLoggedIn;
  return isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign in.</h1>;
}
登录后复制

10。列表和键

在React中,您可以使用map()方法渲染数据列表,并且每个列表项应该有一个唯一的键。

示例:

function ItemList(props) {
  const items = props.items;
  return (
    <ul>
      {items.map(item => <li key={item.id}>{item.name}</li>)}
    </ul>
  );
}

const items = [
  { id: 1, name: 'Apple' },
  { id: 2, name: 'Banana' },
  { id: 3, name: 'Cherry' }
];

<ItemList items={items} />;

登录后复制

11。提升状态

有时,多个组件需要共享相同的状态。你将国家“提升”到他们最近的共同祖先,这样它就可以作为道具传承下来。

示例:

function TemperatureInput({ temperature, onTemperatureChange }) {
  return (
    <input
      type="text"
      value={temperature}
      onChange={e => onTemperatureChange(e.target.value)}
    />
  );
}

function Calculator() {
  const [temperature, setTemperature] = useState('');

  return (
    <div>
      <TemperatureInput
        temperature={temperature}
        onTemperatureChange={setTemperature}
      />
      <p>The temperature is {temperature}°C.</p>
    </div>
  );
}

登录后复制

这些是构成 React 开发基础的基本概念。

以上是反应基础知识的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板