vue 与 react 的区别 详细例子

admin2年前 (2023-07-27)it知识605

以下是一个具体例子,展示了 Vue.js 和 React 在实现一个同样的功能时的一些区别:

需求:实现一个用户列表,包括用户名和删除按钮,点击删除按钮可以删除相应的用户。

Vue.js 实现:

<template>  <div>    <ul>      <li v-for="(user, index) in users" :key="index">        <div>{{ user.name }}</div>        <button @click="deleteUser(index)">删除</button>      </li>    </ul>  </div></template><script>export default {  data() {    return {      users: [        { name: '张三' },        { name: '李四' },        { name: '王五' }      ]    };  },  methods: {    deleteUser(index) {      this.users.splice(index, 1);    }  }};</script>

React 实现:

import React from 'react';class UserList extends React.Component {  state = {    users: [      { name: '张三' },      { name: '李四' },      { name: '王五' }    ]  };  deleteUser = (index) => {    this.setState((prevState) => ({      users: prevState.users.filter((user, i) => i !== index)    }));  };  render() {    return (      <div>        <ul>          {this.state.users.map((user, index) => (            <li key={index}>              <div>{user.name}</div>              <button onClick={() => this.deleteUser(index)}>删除</button>            </li>          ))}        </ul>      </div>    );  }}export default UserList;

在这个例子中,Vue.js 使用模板语法和计算属性来实现数据的渲染和删除操作,而 React 使用 JSX 语法和组件来实现。在 Vue.js 中,数据和视图是双向绑定的,当数据发生变化时,视图会自动更新,而在 React 中,数据流是单向的,需要手动调用 setState 方法来更新状态并重新渲染组件。

标签: JavaScript

相关文章

JavaScript 数组排序

sort() 方法以字母顺序进行排序var  fruits = ["banana", "orange",&qu...

JavaScript 对象定义

在JavaScript 中,对象是王。如果你理解了对象,就理解了javascript。在Javascript 中,几乎所有事物都是对象。 布尔是对象(如果用new 关键词定义)数字是对象(如...

JavaScript 对象原型

前面有一章提到无法为已有的对象构造器添加新属性Person.nationality = "English";  //得到的是undefine...

JavaScript 可迭代对象

可迭代对象时可以使用for..of 进行迭代的对象从技术上讲,可迭代对象必须实现Symbol.iterator方法。遍历字符串你可以使用for..of循环来遍历字符串的元素:for(const&nbs...

JavaScript ES5 对象方法

ECMAScript 5 (2009) 向 JavaScript 添加了许多新的对象方法。管理对象// 以现有对象为原型创建对象 Object.create() //添加或更改对象属性...

JavaScript 最新特征

JavaScript 的最新特征包括以下几个方面:类的私有变量:通过使用 # 符号,可以在类中定义私有变量,只能在类的内部访问,外部无法访问。空位合并操作符:使用 ?? 符号,可以在两项中任一项为 n...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。