gpt4 book ai didi

javascript - 如何通过将 Redux 连接的 React 组件导出为 PureComponent 来测试它?

转载 作者:行者123 更新时间:2023-12-03 01:51:24 25 4
gpt4 key购买 nike

我一直在寻找一个我知道可行的解决方案,但语法让我困惑。这是场景:

您有一个 redux 连接组件,导出如下:

export default connect(mapStateToProps, mapDispatchToProps)(componentToExport);

您需要测试该组件,并且在 Enzyme 中看不到此错误:

Could not find "store" in either the context or props of "Connect(componentToExport)"

解决方案如下所示。

在被测试组件的底部有:

export default connect(mapStateToProps, mapDispatchToProps)(componentToExport);
export default componentToExport as PureComponentToExport

我尝试过使用:

import from React, { PureComponent } 

然后使用

创建组件
extends PureComponent 

但这并没有按预期工作。 Enzyme 的文档中确实应该涵盖这一点:/

非常感谢任何帮助。我不想包含外部库,或者将存储传递到正在测试的组件中等。我希望能够使用我以前见过的这种语法。

谢谢:)

最佳答案

做到这一点的方法是同时导出未连接的组件,例如通过将 export 添加到其定义中或使用显式导出:

export default connect(mapStateToProps, mapDispatchToProps)(YourComponent);
export { YourComponent }; // export must contain braces or else it will give an error

然后使用命名导入将其导入到您的测试中,如下所示

import { YourComponent } from '../YourComponent';

redux docs 中提供了有关测试连接组件的更多信息。 .

关于javascript - 如何通过将 Redux 连接的 React 组件导出为 PureComponent 来测试它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50398050/

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