原创 React 源碼閱讀-11_041
React 源碼閱讀-11 createRef // ReactTypes定義的 react 類型 import type {RefObject} from 'shared/ReactTypes'; // an immutable o
原创 React 源碼閱讀-10_041
React 源碼閱讀-10 ReactBaseClasses 這個文件是export出了Component, PureComponent export {Component, PureComponent}; 源碼+註釋 /** * Cop
原创 React 源碼閱讀-9_040
React 源碼閱讀-9 繼續閱讀react 16.8.6源碼 之前寫的就是相當於的一個學習的筆記,雖然工作中的技術都是 react 相關,但是80%都是一些平常很少涉及到的,導致自己對 react的認識相對比較片面.一些 react的ap
原创 React 源碼閱讀-8_039
React 源碼閱讀-8 ReactHooks Hook 是 React 16.8 的新增特性。它可以讓你在不編寫 class 的情況下使用 state 以及其他的 React 特性。 import { useCallback, u
原创 React 源碼閱讀-7_038
React 源碼閱讀-7 memo React.memo 爲高階組件。它與 React.PureComponent 非常相似,但它適用於函數組件,但不適用於 class組件。 const MyComponent = React.memo(f
原创 React 源碼閱讀-6_037
React 源碼閱讀-6 lazy React.lazy 函數能讓你像渲染常規組件一樣處理動態引入(的組件)。 React.lazy 接受一個函數,這個函數需要動態調用 import()。它必須返回一個 Promise,該 Promise
原创 React 源碼閱讀-5_036
React 源碼閱讀-5 源碼 import {REACT_FORWARD_REF_TYPE, REACT_MEMO_TYPE} from 'shared/ReactSymbols'; import warningWithoutStac
原创 JavaScript 異步編程_035
JavaScript 異步編程 一道面試題 for(var i = 0; i < 3; i++) { setTimeout(function() { console.log('timeout' + i); })
原创 React-SVG圓環_034
React 圓環 SemiCircle 代碼 import React from "react"; class SemiCircle extends React.Component { constructor(props) {
原创 React 源碼閱讀-4_033
React 源碼閱讀-4 上下文 Context 上下文Context 提供了一種通過組件樹傳遞數據的方法,無需在每個級別手動傳遞 props 屬性。 何時使用 Context Context 旨在共享一個組件樹內可被視爲 “全局” 的數
原创 React 源碼閱讀-3_032
React 源碼閱讀-3 React.Component class Welcome extends React.Component { render() { return <h1>Hello, {this.props.name
原创 React 源碼閱讀-2_031
React 源碼閱讀-2 在典型的React數據流中,props是父組件與其子組件交互的唯一方式。要修改子項,請使用new props 重新呈現它。但是,在某些情況下,需要在典型數據流之外強制修改子項。要修改的子項可以是React組件的實例
原创 代碼規範_030
代碼規範 git commit規範 每次提交 git commit的時候總是有點難受,不知道怎麼寫? 還有不同人寫的風格完全不一樣, 1.安裝Commitizen npm install -g commitizen https://gi
原创 LeetCode-01-兩數之和_029
LeetCode-01-兩數之和 題目描述 給定一個整數數組和一個目標值,找出數組中和爲目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 ::: tip給定 nums = [2, 7, 11, 15], ta
原创 MacOS配置 iTerm2,oh-my-zsh,zsh_028
MacOS配置 iTerm2,oh-my-zsh,'zsh' zsh Mac 自帶的 zsh終端 cat /etc/shells 修改系統默認的終端爲zsh # 更改終端 chsh -s /bin/zsh # 確認是否更改成功 ech