小编Moh*_*mir的帖子

为什么 onChange 事件在反应中没有 event.keyCode 属性?

我正在尝试使用onChange事件和反应钩子禁用输入文本字段中的空格。我正在保存电子邮件输入状态。onChange事件中的函数调度动作,e.target作为其输入传递。然而,一旦分派发生,输入字段就会被重置。我已经测试了输入字段,它工作正常,但是当我单击键盘空间按钮然后event.keyCodeevent.which 给了我未定义的值。

import React, {useReducer} from 'react';

const initialState = {
    email: ''
};

function reducer(state, action) {
    switch (action.type) {
        case 'email':
            return {
                ...state,
                email: action.payload
            };
        default:
            throw new Error();
    }
}

const Login = () => {
    const [state, dispatch] = useReducer(reducer, initialState);
    const handleChange = (event) => {
        if (event.keyCode == 32) {
            return false;
        }
        dispatch({ type: event.target.name, payload: event.target.value.trim() });
    }
    return (
        <div className="container"> …
Run Code Online (Sandbox Code Playgroud)

reactjs

2
推荐指数
1
解决办法
5336
查看次数

标签 统计

reactjs ×1