如何在HOC中使用计算的属性名称?

时间:2018-12-08 13:16:39

标签: javascript reactjs authentication higher-order-components

我有这样的HOC:

export const authenticateUser = WrappedComponent => (props) => {
  return props.authenticated ? <WrappedComponent {...props} /> : <div> Please log in to continue </div>
}

但这是半可重用的。我想在许多地方重用此HOC,但我不想像props.authenticated那样对props[authenticator]进行硬编码,其中身份验证器是我遗忘的东西。例如

我希望它是以下

props.admin

props.authenticated

props.manager

在不同的场合?

我该如何传递下去?

我尝试将其添加为第二个参数/ prop

但是当我这样做

const Auth = authenticateUser(welcomeScreen, 'admin')

坏了

有什么想法吗?

0 个答案:

没有答案