reactjs - 使用 useDispatch 和 useSelector 反应 Hook 测试
问题描述
React Hook 已经发布了一段时间,但我仍然找不到测试useSelector()
和useDispatch()
钩子的标准测试方法,例如,我有一个简单的组件
const TestComponent = () => {
const currentUserId = useSelector(state => {
return state.userId;
});
const currentUserName = useSelector(state => {
return state.userName;
});
const dispatch = useDispatch();
const updateUsername = (id, name) => { dispatch(updateUsername(id, name)) };
return (
<span>
<UserForm userId={currentUserId} userName={currentUserName} onChange={() => {updateUsername}} />
</span>
)
}
我如何编写测试用例useSelector()
并且useDispatch()
我想验证:
1)当我用一些模拟状态初始化反应钩子组件时,我currentUserId
的组件内部将与模拟的“state.userId”相同?
2)当我在组件上模拟onChange
事件时UserForm
,我dispatch(updateUsername(id, name))
应该被调用一次吗?随着我state.name
的模型更新用户名的更新?
解决方案
推荐阅读
- winapi - 我们如何在 mfc 的图片控件中加载增强的图元文件?
- java - 匹配特定键模式的 Redis 到期通知
- javascript - VueJS - 子组件未使用父计算属性中的道具集进行更新
- java - 如何在 Firebase 云消息传递中创建主题
- c++ - 自定义 BGL 图与拓扑排序一起工作需要什么?
- ms-access - 访问计算机时访问表单分辨率的变化
- sql-server - 我的 UPDATE 语句 WHERE NOT EXISTS 有什么问题?
- jmeter - 计算 JMeter 中的平均响应时间计算
- java - mouseListener:按下、单击和拖动的组合
- c# - 如何向未初始化的变量添加内容?C#