是否可以重命名重建HOC(以获取更好的堆栈跟踪)



我喜欢 recompose,但是当我使用它时,我会以堆栈痕迹结束,这些痕迹具有:

in withProps(withHandlers(withHandlers(SelectionOverlay))) (created by withState(withProps(withHandlers(withHandlers(SelectionOverlay)))))

有什么方法可以给单个HOC组件提供某种"显示名称"以获得更可读的堆栈痕迹?

有一个可用的setDisplayName方法似乎可以按您的要求-https://github.com/acdlite/recompose/recompose/blob/master/master/docs/api.md#setdisdisplayname

结帐本节:https://github.com/acdlite/recompose#build-your-wown-libraries

我相信您可以将静态属性分配给您的组件,称为displayName,然后将其传递到堆栈跟踪以及React Chrome扩展名。

因此,如果您的事件是这样组成的,则可以写:

const MyComponent = withProps(withHandlers(withHandlers(SelectionOverlay)))
MyComponent.displayName = "ArbitraryValue"

而不是在整个地方使用setDisplayName,您可能需要尝试recompact,旨在精确地解决recompose ED组件的可怕嵌套问题。

作为一个令人愉快的补充,基准表明它比recompose快一点。

最新更新