type SomeFunc = (a:string, b:number, c:someCustomType) => number;
Run Code Online (Sandbox Code Playgroud)
我想创建一种与上面的类型类似的类型,只是最后添加了一个参数。比方说,d:number;
type SomeFuncAltered = (a:string, b:number, c:someCustomType, d:number) => number;
Run Code Online (Sandbox Code Playgroud)
不过,我不想手动制作整个类型,我很确定Parameters<func>这里可以使用一个聪明的技巧。
在Python项目中,如何告诉内置VSCode调试器在执行时进入其他库的函数代码?
我知道在标准库中实现的功能可以通过添加
"debugOptions": ["DebugStdLib"]
Run Code Online (Sandbox Code Playgroud)
到此处指定的launch.json中的配置,但是似乎无法强制调试器进入非标准模块的代码,例如您自己编写并导入到当前文件中的模块。
我在 React 应用程序中使用 websockets。应用程序应该仅由功能组件组成。
想象一下,该应用程序由两个“选项卡”组成:一个不相关,另一个是使用 websockets 的聊天。鉴于此,我们希望在用户进入聊天选项卡后建立一个 websocket 连接。
组件应该如何处理 websocket 对象?由于我们希望在用户切换回另一个选项卡 ( WebSocket.close())后进行清理,因此听起来我们应该在这里使用效果挂钩。
const Chat = () => {
const [messages, setMessages] = useState([]);
useEffect(() => {
const webSocket = new WebSocket("ws://url");
webSocket.onmessage = (message) => {
setMessages(prev => [...prev, message.data]);
};
return () => webSocket.close();
}, []);
return <p>{messages.join(" ")}</p>;
};
Run Code Online (Sandbox Code Playgroud)
作品!但是现在,想象一下我们想要webSocket在useEffect范围之外的某个地方引用变量——比如说,我们想要在用户点击一个按钮后向服务器发送一些东西。
现在,应该如何实施?我目前的想法(虽然我觉得有缺陷)是:
const Chat = () => {
const [messages, setMessages] = useState([]);
const [webSocket] = useState(new WebSocket("ws://url"));
useEffect(() => {
webSocket.onmessage …Run Code Online (Sandbox Code Playgroud) Storybook 当前调用react-scripts. 但是,我已经用 .CRA 配置覆盖了某些部分craco。这意味着我的应用程序是通过craco ...,而不是 调用的react-scripts ...。
有没有一个干净的解决方案来调用 Storybook craco?
我正在createSlice与 一起使用useReducer。
我希望能正确输入调度,即React.Dispatch<ReducerActions>。
createSlice?以下内容不起作用,它解决了AnyAction...我想说这是可以理解的,因为所有操作都会通过所有减速器。
Dispatch<Parameters<typeof slice["reducer"]>[1]>
Run Code Online (Sandbox Code Playgroud) const ref = useRef(null);
return (
<>
{ref.current !== null &&
createPortal(<span>Hello!</span>, ref.current as any)}
<div ref={ref}></div>
</>
);
Run Code Online (Sandbox Code Playgroud)
据我了解门户网站, aspan应该附加到div,但事实并非如此。
为什么会这样?
我正在开发一个模块 A。用户可以选择将一个 Winston 记录器注入我的模块,因此winston是它的对等依赖项。
每当我将模块 A 安装在我不想记录内容的另一个模块中(因此我不包括 Winston)并尝试使用tsc它时,TS 大喊
Cannot find module 'winston' or its corresponding type declarations.
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
考虑这段代码,|光标在哪里
expect("Som|eString")
Run Code Online (Sandbox Code Playgroud)
我想知道是否有键盘快捷键可以跳转到这里:
expect("SomeString")|
Run Code Online (Sandbox Code Playgroud)
最好加一个点,如下所示:
expect("SomeString").|
Run Code Online (Sandbox Code Playgroud)
换句话说,我觉得跳转到表达式/语句末尾以继续输入它的快捷方式(例如在函数链中完成输入一个函数的参数之后)将非常有用,而且肯定有一个,即使我在设置中找不到它。
我想设计PaperMaterialUI 的样式Dialog
const StyledDialog = styled(Dialog)`
& .MuiPaper-root {
width: 600px;
}
`;
Run Code Online (Sandbox Code Playgroud)
但是,这意味着嵌套在具有MuiPaper-root该类的 Dialog 内的所有元素(例如,其他 Papers)都将继承它。
有什么方法可以将此样式范围限定为第一个对话框使用的纸张?
我想将svgr 的 webpack 插件与 create-react-app 一起使用,以将 SVG 与 MaterialUI 的 SvgIcon一起使用。我正在使用craco将 svgr 添加到 Webpack 的配置中。
目前,每当应该渲染 SVG 时,都会抛出以下错误:
Failed to execute 'createElement' on 'Document': The tag name provided ('static/media/googlelogo.03ad8507.svg') is not a valid name.
Run Code Online (Sandbox Code Playgroud)
我的 craco.config.js:
Failed to execute 'createElement' on 'Document': The tag name provided ('static/media/googlelogo.03ad8507.svg') is not a valid name.
Run Code Online (Sandbox Code Playgroud)
如何正确嵌入 SVG?
reactjs ×3
typescript ×3
craco ×2
react-hooks ×2
debugging ×1
javascript ×1
material-ui ×1
npm ×1
python ×1
storybook ×1
webpack ×1
webstorm ×1