技术栈对比
| vue + vue-router + vuex + axios + elementui | react + react-router-dom + redux( |
|---|
| react | |
|---|---|
| 快速创建工程 | 官方脚手架 Create React App |
| JSX | JSX是一种JavaScript的扩展语法,允许在JavaScript代码中直接编写类似HTML的标记。JSX代码最终会被编译成普通的JavaScript代码
|
| 虚拟dom | 是js对象,模拟真实的dom,diff算法去更新真正需要更新的dom。
|
| redux和zustand的区别 | 都是状态管理器,zustand减少样板代码,不需要像 Redux 那样编写大量的 action creators 和 reducers。 |
| 函数组件和类组件的区别 | 1.复杂度:函数组件接受props,返回jsx,轻量;类组件继承自React.Component,比较重。 2.状态管理:函数组件通过hooks进行状态管理,类组件使用 this.state 进行状态管理。 3.生命周期函数:函数组件没有,类组件有componentDidMount, componentDidUpdate, componentWillUnmount 4.官方推荐函数组件,组合大于继承 |
| useEffect | 相当于vue组件的 mounted,例如组件初次加载执行 useEffect(() => { ajax请求获取数据 }, []) |
| 入口文件 | import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
// 函数组件 直接运行以下函数
const App = () => {
const title = 'Welcome to React';
const items = [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
{ id: 3, name: 'Item 3' }
];
return (
<div>
<h1>{title}</h1>
<ul>
{items.map(item => (
<li key={item.id}>{item.name}</li>
))}
</ul>
</div>
);
};
// ========================================
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(<App />); |
1663

被折叠的 条评论
为什么被折叠?



