反应测试:更新输入后道具值仍然没有改变
React test: after update input the props value still not change
我有这个代码在测试
let formatField = subject.find("input").at(0);
(formatField.props() as any).onChange({
currentTarget: { value: "Potato" }
});
问题出在这个操作之后,当我得到 formatField.props().value
它仍然 undefined
我是不是漏了什么?
我试过
formatField .simulate('change', { target: { value: 'Potato' } });
还有
formatField .simulate('keydown', { keyCode: 13 });
值仍未更新
非常感谢!
我自己找到的:需要等待更新
const waitForAsync = () => new Promise(resolve => setImmediate(resolve));
await waitForAsync();
subject.update();
模拟更改事件也应该是这样的
formatField.simulate("change", {
target: { value: "my value" }
});
我有这个代码在测试
let formatField = subject.find("input").at(0);
(formatField.props() as any).onChange({
currentTarget: { value: "Potato" }
});
问题出在这个操作之后,当我得到 formatField.props().value
它仍然 undefined
我是不是漏了什么?
我试过
formatField .simulate('change', { target: { value: 'Potato' } });
还有
formatField .simulate('keydown', { keyCode: 13 });
值仍未更新
非常感谢!
我自己找到的:需要等待更新
const waitForAsync = () => new Promise(resolve => setImmediate(resolve));
await waitForAsync();
subject.update();
模拟更改事件也应该是这样的
formatField.simulate("change", {
target: { value: "my value" }
});