请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

asyncBootstrap

asyncBootstrap() {
    return new Promise((resolve) => {
      setTimeout(() => {
        const { appState } = this.props;
        appState.count = 3;
        resolve(true);
      })
    })
  }

页面里的这个方法是没在页面里调用的,
服务端使用

asyncBootstrap(app).then(() => { 

后,为什么会去执行页面里的asyncBootstrap,或者说他是通过什么判断出页面里的asyncBootstrap是异步方法需要优先执行,通过名字吗?(其实我遇到的问题是,我这边不知道为啥,不会执行页面里的asyncBootstrap方法)

正在回答 回答被采纳积分+3

1回答

Jokcy 2019-06-19 15:20:14

通过实例或者组件类上面判断是否有该方法,如果有就调用,在服务端的代码里面我们不是要先通过asyncBootstrap之后才能执行服务端渲染么

0 回复 有任何疑惑可以回复我~
  • 提问者 MeSKiL #1
    别的地方都跑通了,就是不执行组件里asyncBootstrap方法。服务端是不是asyncBootstrap(app).then,就可以自动执行组件的asyncBootstrap方法了?我已经这样干了,但是并没有执行。
    回复 有任何疑惑可以回复我~ 2019-06-21 11:31:35
  • 提问者 MeSKiL #2
    "react-async-bootstrapper" deprecation notice: please rename your "asyncBootsrap" methods to "bootstrap"
    找到问题了,新版本的需要命名为bootstrap。不过最新版的Material-UI 用了hooks,使用最新版的material-ui的话会说Invalid hook call. Hooks can only be called inside of the body of a function component。一堆,意思是说hooks的问题,估计最新版的material-ui使用hooks封装的,普通项目里不能用?
    回复 有任何疑惑可以回复我~ 2019-06-21 18:04:01
  • Jokcy 回复 提问者 MeSKiL #3
    不是的,hooks不能在class组件里面使用
    回复 有任何疑惑可以回复我~ 2019-06-21 18:30:24
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号