我写的组件需要根据是否ctrl按下来改变其行为.
我使用了一个window.onkeydown事件,但是Simulate来自React Test Utils不允许我发送事件window.我也试过window.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 17 }));但是mocha/node无法识别KeyboardEvent.
有没有办法window.onkeydown使用React Test Utils进行测试?如果没有,有没有更好的方法在mocha中为节点做?
以下是一些说明问题的代码:
describe('On Keydown', () => {
it('fires the event', () => {
// Component
const Component = class extends React.Component {
constructor(props) {
super(props);
this.state = { key: false };
window.addEventListener('keydown', e => this.setState({ key: true }));
window.addEventListener('keyup', e => this.setState({ key: false }));
}
render() {
return …Run Code Online (Sandbox Code Playgroud) 我无法弄清楚如何在python中替换字符串中的第二个大写字母.
例如:
string = "YannickMorin"
Run Code Online (Sandbox Code Playgroud)
我希望它成为yannick-morin
到目前为止,我可以通过执行string.lower()来使它全部小写,但是当它找到第二个大写字母时如何设置破折号.