小编Ban*_*rew的帖子

在为第三方库进行模块增强时,如何在 VSCode 中为 JavaScript 代码库启用 TypeScript 智能感知?

在标准create-react-app配置中,有\xe2\x80\x99s一个第三方组件,我可以在需要时导入:

\n
import { Button } from \'@mui/material\'\n\n// [\xe2\x80\xa6]\n<Button variant="|"></Button>\n
Run Code Online (Sandbox Code Playgroud)\n

该库是完全类型化的,因​​此当光标位于 处时,在 VSCode 中点击Ctrl+将会显示我可以使用的可能的字符串变体列表。我可以通过创建一个包装的本地组件来添加另一个变体:Space|@mui/material/Button

\n
// LocalComponent.js\nimport React from \'react\'\nimport { Button } from \'@mui/material\'\n\n// Do something to actually add a variant called `new`.\n\nexport const LocalComponent = React.forwardRef((props, ref) => {\n  return (\n    <Button ref={ref} {...props}>\n      {props.children}\n    </Button>\n  )\n})\n
Run Code Online (Sandbox Code Playgroud)\n
// LocalComponent.d.ts\nimport type { ButtonProps } from \'@mui/material\'\n\ninterface Props extends ButtonProps {\n  /** @default \'text\' */\n  variant?: \'text\' | \'outlined\' | \'contained\' …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs visual-studio-code material-ui

10
推荐指数
1
解决办法
1590
查看次数

VSCode 仅在导入到某处时才通过相应的 Foo.d.ts 为 Foo.js 提供智能感知;如何在 Foo.js 本身中启用智能感知?

设置是一个“创建 React 应用程序”,具有以下内容jsconfig.json

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "baseUrl": "src"
  },
  "include": ["src"]
}
Run Code Online (Sandbox Code Playgroud)

目录结构:

.
??? src
    ??? Components
        ??? Foo
            ??? Bar
            ?   ??? Bar.js
            ?   ??? Bar.d.ts
            ?   ??? index.js
            ??? Foo.js
            ??? index.js
Run Code Online (Sandbox Code Playgroud)
// React component `Foo` imports a component `Bar`:

import { Bar } from './Bar'

export function Foo(props) {
  //
}
Run Code Online (Sandbox Code Playgroud)
// And gets full intellisense via `Bar.d.ts`:

type Props = {
  /** ... */
}

export declare function Bar(
  props: Props …
Run Code Online (Sandbox Code Playgroud)

javascript typescript reactjs visual-studio-code

7
推荐指数
1
解决办法
373
查看次数

远程加载下拉选项时,语义UI不会替换GET路由中的{value}

这是我的API设置:

//-------------------------------------------------------------------------
// Define API endpoints once globally.
//-------------------------------------------------------------------------
$.fn.api.settings.api = {
  'find cool cats' : '/search/coolcats?query={value}'
};
Run Code Online (Sandbox Code Playgroud)

该路由根据文档返回正确的JSON响应:

// For example, "http://localhost:3000/search/coolcats?query=cool" returns this limited array of results:

{
    "success": true,
    "results": [
        {
            "name": "Cool Cat Cooper",
            "value": "Cool Cat Cooper"
        },
        {
            "name": "Cool Cat Charlie",
            "value": "Cool Cat Charlie"
        },
        {
            "name": "Cool Cat Mittens",
            "value": "Cool Cat Mittens"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我有时会将此HTML附加在表单内(与上述文档参考中的“ Favorite Animal”代码相同):

var coolCatsField = '<div class="field">';
        coolCatsField += '<label>Find a …
Run Code Online (Sandbox Code Playgroud)

javascript semantic-ui

4
推荐指数
1
解决办法
2650
查看次数

是否可以在JavaScript中的变量名后面的新行上开始方法链接?

我有很多.on()方法可以链接和对齐.我担心解释器可能会在此示例中的变量名后插入分号:

var foo = new Bar();

foo // Semicolon insertion here.
  .on()
  .on();
Run Code Online (Sandbox Code Playgroud)

有没有办法保持这种结构,还是应该避免这样做?谢谢!

javascript

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