我创建了三个组件:
<MyInputComponent>扩展了material ui组件
<Input><MyInputComponent>通过接受作为 propsonInputTyping并将其传递给onChangeof来处理 onChange of<MyInputComponent>
<App>渲染并<Input>传递onInputTyping给<Input>函数handleTypying
代码: https: //codesandbox.io/s/upbeat-bas-u0rj4
内部输入我有:
const Input: React.FC<Props> = (props: Props) => {
const { onInputTyping } = props;
return (
<MyInputComponent
onChange={(event) => onInputTyping && onInputTyping(event)}
/>
);
};
内部应用程序我有:
export default function App() {
const handleTyping = (event: React.ChangeEvent<HTMLInputElement>) => {
console.log(event.target.value);
};
return (
<div className="App">
<Input onInputTyping={(event) => handleTyping(event)} />
<br />
<Input onInputTyping={() => handleTyping(event)} /> <-- This still console.log the event, but why?
<br />
<Input onInputTyping={handleTyping} /> <-- This still console.log the event, but why?
</div>
);
问题: 我不明白为什么<Input>里面的最后两个App能够console.log用户键入的事件。
event我在第一个中传递了only Input,然后event将其传递给handleTyping。例子:<Input onInputTyping={(event) => handleTyping(event)} />
但
在第二个和第三个中,<Input>我不会将任何传递event给handleTyping. handleTyping那么,即使我没有event向它传递任何内容,怎么可能能够 console.log(event) 呢?
 侃侃尔雅
侃侃尔雅 
					墨色风雨
 随时随地看视频慕课网APP
随时随地看视频慕课网APP
相关分类