React使用总结

React使用过程中的经验总结:

  • 封装form组件.可以只用Form.create()包裹封装的组件。
  • changeState方法重载,
    • (value,key) state 的直接属性和值
    • (value,"key_parent,key_child....") 中间用, 隔开,表明state中属性的属性。
    • [{value:value,key:key}] 批量更新state的直接属性。
    • [{value:value,key:"key_parent,key_child"}] 批量更新state 中属性的属性。
  • Ant_designTableRadiocheckbox 可以和onRowClick 合并,都仅仅只是改变选中ids数组 ,然后再componentWillUpdate或者componentWillReceiveProps生命周期中遍历再给上其他需要的值,这样可以避免onSelectonRowClick一些相同的代码.
  • ComponentWillUpdate(nextProps,nextState)不能给nextState直接赋值一个对象,也就是说组件中不能改变组件的state的引用;(未确认)但是有replaceState函数或许能用。
  • 使用对象的属性时候,一定要校验对象存在,不能直接调用,state&&state.prototype
  • (待实现)封装no-flux或者refast的execute方法,看能不能在发送请求之前Loading,之后hide(),或者再封装到父类中。;
  • 可以在Constructor方法中通过判断来源哪里,然后通过call调用不同的方法来初始化当前类。场景:“记一笔”页面会有不同的来源都到这个页面,那么constructor方法写的很乱。
  • 从中间件中得到的启发(待实践):代码分为业务代码和非业务代码的技术代码(中间件);那么代码就可以这样来区分一下,例如”校验功能”就是中间件代码;还有就是”异步重复加载中间件”,有些数据需要不断从后台来抽取,那么就可以弄一个中间件
  • 代码流程的控制也有两种:returncallback
  • React有如下的一些函数:setProps,replaceProps,setState,replaceState,forceUpdate
  • ReactsetState是异步执行的(根据生命周期在render方法调用之前已经放到队列中的一起来更新,(自己理解的,看了网上源码,没看懂。。。。)),但是在addEventListener,setTimeout,ajax回调中this.setState是立即触发的,因为这些已经跳出了生命周期函数了。
  • React-routerwithRoute的用法(不知道哪天突然出现的,网上的依然看不懂。。。),正常来说用Route匹配的组件会有额外的关于路由的props,普通的组件是没有的,但是用withRoute包装过后,在它被渲染的时候,就会有路由的相关信息,但是他的路由信息是他的上层组建中那个放在Route component中组件的信息。
  • setState的三种方式:
    • 对象,执行两次只加1
      setState({demo:this.state.demo+1});
    • 函数,执行两次加 2
      setState((preState,preProps)=>{return {demo:preState.demo+1}});
      -封装异步
      syncSetState(obj){
      return new Promise(
      function(resolve,reject){
      this.setState(obj,resolve)
      }.bind(this));};
      \\调用
      syncSetState(obj).then(function(){console.log(this.state);})
  • 前端会存在需要不断调用的接口,那么这个时候可以写一个中间件;

    /*
    url:需要调用的接口;
    compareFun(success,error);对加载完成的数据进行处理,并在比对完成之后调用不同的函数来处理比对结果;类似事件监听了,
    */
    function syncLoadData(时间间隔,url,compareFun);
    //还需要获取下来之后存到数据集中,然后提供方法获得数据
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React可以使用htmlparser来解析HTML字符串,并将其转换为React组件。HTMLParser是一个开源的HTML解析库,它可以将HTML字符串解析成一个DOM树,在React中可以使用这个DOM树来生成React组件。 使用htmlparser需要先安装htmlparser库,可以使用npm或yarn来安装。安装完成后,可以在React组件中引入htmlparser库。 在React组件中,可以调用htmlparser库提供的方法来解析HTML字符串。比如使用htmlparser.parseDOM()方法可以将HTML字符串解析成一个DOM树。解析完成后,可以通过遍历DOM树的方式来构建React组件。 具体的使用步骤如下: 1. 引入htmlparser库: ``` import { parseDOM } from 'htmlparser2' ``` 2. 在React组件中,使用htmlparser解析HTML字符串: ``` const htmlStr = '<div><h1>Hello, World!</h1></div>' const domTree = parseDOM(htmlStr) ``` 3. 遍历DOM树,构建React组件: ``` function convertToReactComponent(domTree) { return domTree.map((node, index) => { const props = node.attribs || {} const children = node.children ? convertToReactComponent(node.children) : null return React.createElement(node.name, { key: index, ...props }, children) }) } const reactComponent = convertToReactComponent(domTree) ``` 在上面的例子中,我们将HTML字符串 `<div><h1>Hello, World!</h1></div>` 解析成一个DOM树,然后通过遍历DOM树的方式构建React组件。 总结来说,React可以使用htmlparser来解析HTML字符串,并通过遍历DOM树的方式来构建React组件。这样可以方便地将现有的HTML结构转换为React组件,并进行进一步的扩展和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值