useState
用法
const defaultCount = props.defaultCount || 0;
const [count, setCount] = useState(defaultCount)
//useState 按照第一次返回的顺序给你state的
return(
<button onClick={()=>{ setCount(1)}}>
Click({count})
</button>
)
原理
let state:[any] = [];
let cursor: number = 0;
function useState<T>(initState: T): [T, (setState: T)=> void]{
const currentCursor = cursor;
state[currentCursor] = state[currentCursor] || initState;
function setState(newState: T){
state[currentCursor] = newState
render()
}
++cursor
return [state[currentCursor], setState]
}坑
原理
最后更新于