reactjs - 如何在使用 Enzyme 测试 React 组件时设置状态
问题描述
我正在测试一个 React 组件。我的状态是——
constructor(props){
super(props);
this.state = {
data:{
name: "",
},
isActive: false,
}
}
在我的测试文件中,我想将名称状态设置为某个值,例如 -
test("should change the state to Active when user changes the status from Inactive", () => {
wrapper.setState({
isActive:true,
data:{ name:"Jim" },
});
expect(wrapper.state("data").name).toBe("Jim");
)};
在这里,我可以使用wrapper.state("data").name
这条线访问状态。但是使用 setState (在测试中提到)它给了我错误 -
TypeError:e.value.replace 不是函数
所以我想知道的是如何设置name键的状态。
解决方案
推荐阅读
- javascript - 用 PHP 提交表单
- angular - 我不能使用带有角度通用的文档注入
- javascript - 无法读取 DOG API 的 null 属性“addEventListener”
- react-native - 如何在本机反应中在一个屏幕上获得两组独立的选项卡
- ruby-on-rails - 在 macOS Big Sur 11.2.3 上安装 ruby、rails 和 postgresql 时安装 xcode 的问题
- c# - 将 2 字节值转换为顶点值
- c# - 防止在同一位置连续生成预制件
- vba - 如何在报表代码中引用表单对象
- amazon-web-services - 有没有办法轻松获取特定 AWS Lambda 执行的日志条目?
- python - 如何使用 manim 从非场景类播放动画?