react.js中的高阶组件章节,连续调用两种高阶包装组件的顺序问题?


  • 0

    0_1546500754604_SKF_H8KF64@91W$CR}SWKBS.png

    此图对应的章节是:高阶组件;连续两次调用包装高阶组件的顺序,是不是反了?应该是先调用wrapWithLoadData从localStorage获取userName,再才是用属性调用wrapWithAjaxData请求ajax数据.

    这是我的理解,仔细思索了下,感觉是反的,不知道你们怎么理解?


  • 0

    @lofayo 你说的调用顺序没有问题,按照你说的调用顺序,数据的流向是先经过wrapWithLoadData组件获取userName,再经过wrapWithAjaxData组件请求ajax数据,最后在传给inputWithUserName组件。显而易见组件的嵌套关系是,wrapWithLoadData组件在最外层,wrapWithAjaxData组件在中间,inputWithUserName组件最里层,也就是说wrapWithAjaxDate接受inputWithUserName组件返回一个高阶组件,并且和‘userName’一起作为参数传递给wrapWithLoadData返回最终的高阶组件。

    inputWithUserName = wrapWithAjaxData(inputWithUserName)
    inputWithUserName = wrapWithLoadxData(inputWithUserName, 'username')
    

    实例的装饰顺序是正确的。


登录后回复
 

与 ScriptOJ 的连接断开,我们正在尝试重连,请耐心等待