gpt4 book ai didi

javascript - 用高阶组件装饰导入的 React 组件

转载 作者:行者123 更新时间:2023-11-28 05:42:32 25 4
gpt4 key购买 nike

我知道如何在导出组件之前对其进行装饰,如下所示:

export default ButtonDecorator(MainButton)

但是如果我尝试创建一个索引来导入它并在某些情况下以不同的方式装饰它。它不会起作用。

这是索引的示例:

import MainButton from './main/main_button'
import BackButton from './back/back_button'

import { ButtonDecorator, LinkDecorator } from 'decorators'

export {
ButtonDecorator(MainButton) as MainButton,
LinkDecorator(MainButton) as MainHrefButton,
BackButton
}

以及高阶组件:

import React, { Component } from 'react'

let Btn = InnerComponent => {
class NewBtn extends Component {

constructor(props) {
super(props)
}

render() {
return (
<button onClick={this.props.onClick}>
<InnerComponent disabled={this.props.disabled} />
</button>
)
}
}

return NewBtn
}

export default Btn

执行此操作的正确方法是什么?

最佳答案

据我所知export需要名称(变量),而不是函数调用。试试这个:

const ButtonDecoratedMainButton = ButtonDecorator(MainButton);
const LinkDecoratedMainButton = LinkDecorator(MainButton);

export {
DecoratedMainButton as MainButton,
LinkDecoratedMainButton as MainHrefButton,
BackButton
}

关于javascript - 用高阶组件装饰导入的 React 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38798109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com