React
Hooks
本篇是參考官方文件,整理 React 內建的 Hooks API 功能。
const [state, setState] = useState(initialState
setState(newState);
useEffect(
() => {
const subscription = props.source.subscribe();
return () => {
subscription.unsubscribe();
};
},
[props.source],
);
React.createContext
建立一個 context 物件,並由 <MyContext.Provider value={}>
存取該物件的值,底下的子層就可以直接透過 useContext 來存取 MyContextconst value = useContext(MyContext);
(state, action) => newState
,並回傳當前的 state 和對應的 dispatch 方法const [state, dispatch] = useReducer(reducer, initState);
const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b],
);
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
.current
屬性會被初始為傳入的參數 initialValue.current
屬性有變動時不會觸發重新 render,而每次 render 時都會給同一個 ref object
const refContainer = useRef(initialValue);
console.log(refContainer.current)
// initialValue
useImperativeHandle(ref, createHandle, [deps])
useDebugValue(value)