未捕获的TypeError:hook.apply不是在react-router

时间:2016-04-19 12:43:26

标签: javascript reactjs react-router

以下是代码段:

function requireAuth(nextState, transition, callback) {
  console.log('hey');

  callback();
}


export const AdminList = {
  'path': 'admin-area/admin-list',
  getComponent(location, cb) {
    require.ensure([], (require) => {
      cb(null, require('components/admin/admin-list/admin-list').default);
    }, 'admin-list');
  },
  'onEnter': {requireAuth}
};

在输入路径/admin-area/admin-list时,我收到文件 TransitionUtils.js 中标题中提到的错误。

我不确定导致此错误的原因。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

这是React Router没有告诉你onEnter需要是一个函数(你当前将它包装在一个对象中)。

要解决此问题,只需将函数本身分配给onEnter属性(顺便说一句,您不需要在引号中包含onEnter):

  onEnter: requireAuth