搭建react环境,先安装creat-react-app脚手架。使用creat-react-app项目名称。创建一个反应项目。npmi初始化项目npmstart启动项目2.搞清楚react的状态管理stateReact是一个状态机,体现在什么地方,体现在状态上,通过与用户的交互,实现不同的状态,以及然后去渲染UI,让用户的数据和界面保持一致。状态是组件的私有属性。state只能在本组件内初始化,state只能在本组件内修改和复制,不能被外部复制和修改,所以也可以说state是组件的私有状态初始化.在构造函数中初始化。构造函数(道具){超级(道具);this.state={key:value,...}}2.更新状态注意:setState()是异步的,即你调用setState()后,React开始准备更新,可能会有一定的延迟中间计算this.setState({key:value});3、调用diff算法setState()会触发diff算法最终判断是否更新。每次更新新状态的数据,都会重新执行render。~~~~可以让setState()接受一个函数而不是一个对象。该函数将之前的状态作为第一个参数,应用本次更新时的道具作为第二个参数:~~~~//Correctthis.setState((state,props)=>({counter:state.counter+props.increment}));react主要是单数据流进行页面渲染。数据渲染中经常会遇到数据更新。React中没有类似Vue的监控(watch、compute)。在做这类数据的时候,需要在钩子函数中使用[props]数组,类似于使用componentDidUpdate。当然类似watch-props的包还有很多。建议不要这样写。这将业务逻辑绑定到React生命周期。不易管理。Hooks的推出解决了这个问题。5.React-HooksReactHooks制定规则为保证Hooks在使用时出现可预见的问题,官方制定了两条规则(建议)需要遵循,并提前声明。只在函数组件内部调用最顶层的Hook,在循环、条件判断、嵌套函数中调用;Hooks只能在函数组件中调用(Hooks可以在Hooks的定义中调用),需要在其他JavaScript函数中调用。**BasicHooksAPIuseState(state状态管理,更容易理解)useEffect(sideeffectfunction,hookfunction,componentWillUpdate,componentDidUpdate.)React在渲染组件时,会保存使用过的效果,更新DOM后执行。这个过程发生在每个渲染器上,包括第一个渲染器。有些副作用可能需要清除,所以需要返回一个函数(类似componentWillUnmount)useContext
