reactjs101
從零開始學 ReactJS(ReactJS 101)是一本希望讓初學者一看就懂的 React 中文入門教學書,由淺入深學習 ReactJS 生態系 (Flux, Redux, React Router, ImmutableJS, React Native, Relay/GraphQL etc.)。
Top Related Projects
Cheatsheets for experienced React developers getting started with TypeScript
A collection of awesome things regarding React ecosystem
Curated List of React Components & Libraries.
Code from the React tutorial.
🔥 A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.
Quick Overview
ReactJS 101 is a comprehensive guide to learning React.js and its ecosystem. It covers fundamental concepts, advanced topics, and best practices for building modern web applications using React. The repository serves as an educational resource for developers looking to master React development.
Pros
- Extensive coverage of React concepts, from basics to advanced topics
- Includes practical examples and projects to reinforce learning
- Regularly updated to reflect the latest React features and best practices
- Available in both English and Chinese, making it accessible to a wider audience
Cons
- May be overwhelming for absolute beginners due to the breadth of content
- Some sections might become outdated as React and its ecosystem evolve rapidly
- Lacks interactive coding exercises or quizzes for self-assessment
- Limited coverage of React Native and mobile development
Getting Started
To get started with ReactJS 101:
-
Clone the repository:
git clone https://github.com/kdchang/reactjs101.git
-
Navigate to the project directory:
cd reactjs101
-
Open the
README.md
file to access the table of contents and start learning:open README.md
-
Follow the chapters in order, starting with the "React Ecosystem" section to build a strong foundation before moving on to more advanced topics.
Competitor Comparisons
Cheatsheets for experienced React developers getting started with TypeScript
Pros of react
- Focuses specifically on TypeScript with React, providing in-depth TypeScript-specific guidance
- Regularly updated with contributions from the community, ensuring up-to-date information
- Offers cheatsheets for various React-TypeScript scenarios, making it a quick reference guide
Cons of react
- Less comprehensive for React beginners, assuming prior React knowledge
- Lacks detailed explanations of React concepts, focusing primarily on TypeScript integration
- May be overwhelming for those new to TypeScript due to its advanced content
Code Comparison
reactjs101:
class MyComponent extends React.Component {
render() {
return <div>Hello, World!</div>;
}
}
react:
const MyComponent: React.FC = () => {
return <div>Hello, World!</div>;
};
The reactjs101 example uses a class component with JavaScript, while the react example demonstrates a functional component with TypeScript typing.
Summary
reactjs101 is better suited for React beginners, offering a comprehensive introduction to React concepts in JavaScript. react, on the other hand, is ideal for developers already familiar with React who want to leverage TypeScript in their projects. It provides specific TypeScript-React integration guidance and serves as a quick reference for various scenarios.
A collection of awesome things regarding React ecosystem
Pros of awesome-react
- Comprehensive collection of React resources, tools, and libraries
- Regularly updated with new content and community contributions
- Well-organized structure with clear categories for easy navigation
Cons of awesome-react
- Lacks in-depth tutorials or step-by-step learning materials
- May be overwhelming for beginners due to the sheer volume of information
- Does not provide code examples or practical implementations
Code comparison
reactjs101:
import React from 'react';
const HelloWorld = () => (
<div>Hello, World!</div>
);
export default HelloWorld;
awesome-react:
No code examples are provided in the awesome-react repository, as it primarily serves as a curated list of resources rather than a tutorial or code repository.
Summary
reactjs101 is a comprehensive React.js tutorial aimed at beginners, providing step-by-step guidance and code examples. It offers a structured learning path but may not cover the latest React features or advanced topics.
awesome-react, on the other hand, is an extensive collection of React-related resources, tools, and libraries. It serves as a valuable reference for developers of all levels but doesn't provide direct learning materials or code examples.
Choose reactjs101 for a guided learning experience, or awesome-react for a comprehensive list of React resources and tools to explore.
Curated List of React Components & Libraries.
Pros of awesome-react-components
- Extensive collection of React components, libraries, and tools
- Regularly updated with new components and resources
- Well-organized into categories for easy navigation
Cons of awesome-react-components
- Lacks in-depth tutorials or explanations for using components
- May overwhelm beginners with the sheer number of options
- No step-by-step guide for building React applications
Code Comparison
reactjs101 provides code examples for learning React concepts:
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = { count: 0 };
}
render() {
return <div>Count: {this.state.count}</div>;
}
}
awesome-react-components doesn't typically include code examples, but rather links to component repositories:
- [react-datepicker](https://github.com/Hacker0x01/react-datepicker) - A simple and reusable datepicker component for React.
- [react-big-calendar](https://github.com/intljusticemission/react-big-calendar) - Calendar component.
- [react-dnd](https://github.com/react-dnd/react-dnd) - Drag and Drop for React.
Summary
reactjs101 is a comprehensive tutorial for learning React, while awesome-react-components is a curated list of React components and libraries. reactjs101 is better for beginners looking to learn React from scratch, while awesome-react-components is more suitable for developers seeking specific components for their projects.
Code from the React tutorial.
Pros of react-tutorial
- Official React tutorial, ensuring up-to-date and accurate information
- Focuses on a single, practical project (tic-tac-toe game)
- Includes an interactive coding environment for hands-on learning
Cons of react-tutorial
- Limited in scope, covering only basic React concepts
- May not provide in-depth explanations for more advanced topics
- Less comprehensive than reactjs101, which covers a wider range of React-related subjects
Code Comparison
reactjs101:
import React from 'react';
const HelloWorld = () => (
<div>Hello, World!</div>
);
export default HelloWorld;
react-tutorial:
function Square(props) {
return (
<button className="square" onClick={props.onClick}>
{props.value}
</button>
);
}
The reactjs101 example demonstrates a simple functional component, while the react-tutorial code shows a more interactive component with props and event handling. This reflects the different approaches of the two repositories, with reactjs101 focusing on broader concepts and react-tutorial emphasizing practical application in a specific project context.
🔥 A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.
Pros of react-boilerplate
- More comprehensive and production-ready setup with advanced features
- Includes Redux, Redux-Saga, and Reselect for state management
- Offers a scalable architecture for large applications
Cons of react-boilerplate
- Steeper learning curve due to its complexity
- May be overkill for smaller projects or beginners
- Requires more setup and configuration
Code Comparison
reactjs101:
import React from 'react';
import ReactDOM from 'react-dom';
ReactDOM.render(
<h1>Hello, World!</h1>,
document.getElementById('app')
);
react-boilerplate:
import React from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
import { ConnectedRouter } from 'connected-react-router';
import history from 'utils/history';
import App from 'containers/App';
const MOUNT_NODE = document.getElementById('app');
render(
<Provider store={store}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</Provider>,
MOUNT_NODE
);
Summary
reactjs101 is more suitable for beginners and smaller projects, offering a simpler setup and easier learning curve. react-boilerplate provides a more robust foundation for large-scale applications with advanced features and scalable architecture, but requires more expertise to utilize effectively.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
å¾é¶éå§å¸ ReactJSï¼ReactJS 101ï¼
ä¸æ¬çµ¦åå¸è ç React ä¸æå ¥éæå¸æ¸ï¼ç±æ·ºå ¥æ·±å¸ç¿ ReactJS çæ ç³» (Flux, Redux, React Router, ImmutableJS, React Native, Relay/GraphQL etc.)ï¼æé 跨平å°æç¨ç¨å¼ã
ç¸éé£çµï¼Linksï¼
ç¿»è¯çæ¬ï¼Translateï¼
- ç®ä½ä¸æçæ¬ by @carlleton
- å端åç®ä½ä¸æçæ¬ by @blueflylin ç¹å¥æè¬å端åå°å¤¥ä¼´ï¼
è¥éç¿»è¯æå
¶ä»èªè¨çæ¬ï¼è«å
fork
ä¸ä»½ repo
å°èªå·±ç GitHub 並å¦å¤éæ°ç branch
ãæå¾å°ç¿»è¯çæ¬é£çµæ´æ°å¨ master
åæ¯ä¸ README.md
ç ç¸éé£çµï¼Linksï¼
å¾ç¼é Pull Request
ï¼è¬è¬æ¨ã
ç®éï¼Table of Contentsï¼
- ä¸ãå端工ç¨å React çæ ç³»ï¼Ecosystemï¼ç°¡ä»
- äºãéç¼ç°å¢è¨ç½®è Webpack å ¥é
- ä¸ãReact/JSX/Component ç°¡ä»
- åãProps/State åºç¤è Component çå½é±æ
- äºãReact Router
- å ãImmutableJS
- ä¸ãFlux/Redux
- å «ãContainer è Presentational Components
- ä¹ã實æ°æå¸ï¼ç¨ React + Router + Redux + ImmutableJS 寫ä¸å Github æ¥è©¢æç¨
- åã實æ°æå¸ï¼ç¨ React + Redux + Nodeï¼Isomorphic JavaScriptï¼éç¼é£èå享網ç«
- ééä¸ãReact ES5ãES6+ 常è¦ç¨æ³å°ç §è¡¨
- ééäºãç¨ React Native + Firebase éç¼è·¨å¹³å°è¡åæç¨ç¨å¼ï¼Native Mobile Appï¼
- ééä¸ãReact æ¸¬è©¦å ¥éæå¸
- ééåãGraphQL/Relay åé«é©
å åç¥èï¼Prior Knowledgeï¼
æ¬æ¸éå°å·²å ·ååºæ¬ HTMLãCSS å JavaScript å DOM æä½ç¥èçè®è è¨è¨ï¼ä½è¥è®è å°ä¸è¿°çæè¡ä»ä¸çæç話ï¼å»ºè°å¯ä»¥å è¡åèï¼MDNãCodecademyãW3C SchoolãJavaScriptæ ¸å¿ ææ¯åèçè ä¹åçæå¸è¬ç¾© é²è¡å¸ç¿ãå¦å¤ï¼æ¬æ¸å ¨æ¸ç¯ä¾é½å°ä»¥ ES6+ æ°å¯«ï¼è¥éåè ES5 ç¨æ³ï¼è«åèééä¸ç React ES5ãES6+ 常è¦ç¨æ³å°ç §è¡¨ã
éæ¼ä½è ï¼Authorï¼
@kdchang æèåéç¼è ï¼å¤¢æ³æ¯ååºäººåæ³ç¨çç¢åå辦ä¸æå¿ç®ä¸çæ³çå¸æ ¡ï¼ç®åå°æ³¨å¨ Mobile å IoT æç¨éç¼ãA Starter & Maker. JavaScript, Python & Arduino/Android lover.:)
çæ¬è¨±å¯ï¼Licenseï¼
æ¬æ¸æ¡ç¨åµç¨CCææ¬4.0 "å§åæ¨ç¤ºâéåæ¥æ§âç¸åæ¹å¼å享(BY-NC-SA)" ææ¬ã
æ¬ææ¬æ¢æ¬¾å 許使ç¨è é製ãæ£å¸ãå³è¼¸ä»¥åä¿®æ¹èä½ï¼ä½ä¸å¾çºåæ¥ç®çä¹ä½¿ç¨ãè¥ä½¿ç¨è ä¿®æ¹è©²èä½æï¼å å¾ä¾æ¬ææ¬æ¢æ¬¾æèæ¬ææ¬æ¢æ¬¾é¡ä¼¼è ä¾æ£å¸è©²è¡çä½åã使ç¨æå¿ é æç §èä½äººæå®çæ¹å¼è¡¨å½°å ¶å§åã
詳細è³è¨è«åè CC BY-NC-SA 4.0ã
ééµåï¼Keywordsï¼
React, React Native, React Router, Flux, Redux, Node, Express, ImmutableJS, NPM, Babel, Browserify, Webpack, Gulp, Grunt, Pure Functions, PropTypes, Stateless Functional Components, Presentational Components, ES6, ES5, JSX, Jest, Unit Test, Component, Relay, GraphQL, Universal/Isomorphic, React Tutorial Reactæç¨, Reactæå¸, å¸React, React Tutorial, Tutorial, Ecosystem, Front-End
Top Related Projects
Cheatsheets for experienced React developers getting started with TypeScript
A collection of awesome things regarding React ecosystem
Curated List of React Components & Libraries.
Code from the React tutorial.
🔥 A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot