在 TypeScript 中描述 React 组件类型的正确方法是什么?假设我们有一个返回反应组件的函数。功能:
const getTabContent: () => ReactElement = () => {
switch (tab) {
case 1:
return <Images images={images} onSelect={onSelect}/>;
default:
return <Search onSelect={onSelect}/>;
}
};
Run Code Online (Sandbox Code Playgroud)
在这里,我将返回类型描述为ReactElement,但我想知道它是否正确,或者我应该将其描述为ReactComponentElement还是以某种方式完全不同?此外,这两种类型都是泛型,如果其中一种是正确的,如何完全描述它们?
UPD ReactElement 似乎适合这里,因为,例如,FC (FunctionComponent) 返回它
我正在使用客户端less.js. 有没有办法从我的较少的文件中获取所有变量.我知道如何修改变量:
less.modifyVars({
"@var": "#fff"
});
Run Code Online (Sandbox Code Playgroud)
但我希望得到所有这些,如(不工作):
var variables = less.getVars();
Run Code Online (Sandbox Code Playgroud) 当组件被卸载但可以访问当前道具时,我遇到了清理 useEffect 的需要。就像 componentWillUnmount 可以通过获取 this.props.whatever 来做
这是一个小例子:单击“设置计数”按钮 5 次,然后查看您的控制台。您将在组件 B 的 console.log 中看到 0,无论“计数”为 5 https://codesandbox.io/embed/vibrant-feather-v9f6o
如何实现在 useEffect 清理函数中获取当前道具的行为(在我的例子中为 5)?
更新:将 计数传递给 useEffect 的依赖项将无济于事,因为:
当用户单击输入[type =“file”]时,它会显示一个弹出窗口以选择文件
用户可以选择一项并单击“确定”或单击“取消”
当他们单击“确定”时 - 这是 onChange 事件,太棒了
取消时 - 没有活动或我不知道
所以问题是:
当用户单击“取消”时会触发什么事件,或者如何以不同方式确定单击“取消”后没有选择任何文件?