MyReact

MyReact是一个用于学习交流的React-like前端框架,旨在帮助开发者理解React的核心概念和运行原理。它提供了一系列兼容React API的包,支持Vite和Next.js集成。

该项目主要用于学习交流,没有经过严格的生产验证## 项目介绍一个React like前端框架,学习了解React中的一系列概念以及运行原理。## packages| Package | Version || :---------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------- || @my-react/react | npm (scoped) || @my-react/react-dom | npm (scoped) || refresh | || @my-react/react-refresh | npm (scoped) || @my-react/react-refresh-tools | npm (scoped) || @my-react/react-vite | npm (scoped) || internal | || @my-react/react-jsx | npm (scoped) || @my-react/react-shared | npm (scoped) || @my-react/react-reconciler | npm (scoped) |## 安装使用 (非侵入式)### vitebash# 1. 初始化vite-react项目# 2. 安装runtime包pnpm add @my-react/react @my-react/react-dom# 3. 安装运行配置pnpm add -D @my-react/react-refresh @my-react/react-vite# 4. 修改vite.config.tsimport { defineConfig } from "vite";import react from "@my-react/react-vite";export default defineConfig({ plugins: [react()],});# 5. 配置完成后直接启动### next.jsbash# 1. 初始化next.js项目(page router模式)# 2. 安装runtime包pnpm add @my-react/react @my-react/react-dom# 3. 安装运行配置pnpm add -D @my-react/react-refresh @my-react/react-refresh-tools# 4. 修改next.config.tsimport withNext from "@my-react/react-refresh-tools/withNext";const nextConfig = { reactStrictMode: true,};module.exports = withNext(nextConfig);# 5. 配置完成后直接启动## 为什么会有这个项目该项目最初只是一个练笔实践,期望总结出一些React文档并没有写明的一些东西,了解现代前端框架是如何驱动的,后面慢慢完善,最后变成了如今的样子## 所以这个项目有什么用严格来说这个项目一点用也没有,但是也提供了一点东西,对于想要研究前端框架但是无从下手的人说不定会有点收获## 项目地址https://github.com/MrWangJustToDo/MyReact## Demonext.js demovite demo