问题标签 [tsx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5459 浏览

svg - 尝试使用 SVG 作为背景时模块解析失败

我正在尝试通过 Sass 将 SVG 设置为按钮的背景,但出现以下错误。我使用 webpack 来创建 web 应用程序。

错误:

我的萨斯设置:

我的 SVG:

如果我将来自 Internet 的 url 设置为按钮 SVG,则该按钮成功获取其背景,即:

我预计 Webpack 的解析部门会出错,但我对如何解决这个问题一无所知。

开发依赖:

webpack.conf.js 中的模块:

任何人都知道是什么阻止了本地 SVG 被用作按钮背景?

0 投票
1 回答
1904 浏览

javascript - 如何从带有参数的js文件调用javascript函数并从tsx文件返回数据?

我有一个 js 文件,sample.js其功能如下:

我想从我的.tsx文件中调用这个函数我该怎么做?

0 投票
1 回答
2704 浏览

reactjs - 在 react typescript tsx 文件中声明数组会给出“错误 TS1109:预期表达式”

当我尝试在 React(但使用打字稿)tsx 文件中声明一个数组时,我收到错误消息:

“错误 TS1109:预期表达式”

0 投票
1 回答
2142 浏览

javascript - 通用打字稿组件继承组件道具

我正在使用 Typescript,我想对通用组件进行道具验证。我想创建一个 Field 组件,它呈现标签、错误消息和作为道具传递的组件。我进行了多次尝试以使其工作,但其中一部分或另一部分都失败了。我还阅读了数十篇文章,但找不到任何人面临完全相同的问题。

这是我到目前为止所得到的:

打字稿编译器并没有大喊value该方法中缺少该道具render,因此我将使其IFieldProps扩展自P它应该使其工作:

编译器现在说“一个接口只能扩展一个类或另一个接口”。好的,那我就把它变成一个类型,不用担心:

现在一切都搞砸了。它大喊...rest“Rest 类型只能从对象类型创建”。它大喊<Component />“JSX 元素类型'组件'没有任何构造或调用签名”。最后,它在<Field />那个value道具丢失时大喊大叫——与此同时,道具上的自动完成功能在 vscode 中停止工作。我认为如果我对 P 有一些限制(例如P extends {})可以解决一些问题,但事实并非如此。

如何制作一个通用组件来继承作为道具传递的组件的道具?还是有些过于复杂?其他人如何解决这个问题?

0 投票
1 回答
700 浏览

reactjs - 如何在 tsx 中将道具传递给孩子?

当我将道具传递给孩子时,我有一个错误“属性'isClicked'不存在于类型'IntrinsicAttributes & IntrinsicClassAttributes”我写了“isClicked?:布尔”。我还应该做什么?

0 投票
1 回答
476 浏览

typescript - 为什么 TypeScript 不推断这个 JSX 工厂的返回类型?

JSX 工厂:

tsconfig.json:

.tsx 文件中的用法:

TypeScript 似乎没有HTMLElement从 JSX 工厂推断返回类型 ( )。该变量elementany此处的类型,这是不可取的。

我已经在 Visual Studio 2017 和 VS Code 中对此进行了测试。

Visual Studio 2017 中的工具提示说

我想知道是否可以让 TypeScript 推断 JSX 工厂的返回类型。如果不可能,这是 TypeScript 限制吗?为什么?

0 投票
1 回答
1465 浏览

reactjs - v16.6.0 或更高版本的上下文 API 在提供上下文的组件中使用子组件时不起作用

public static contextType我通过声明使用上下文的组件内部来使用 react 的新上下文 API(v16.6.0 或更高版本) 。只要声明 的组件Provider不直接使用在其render()方法中使用上下文的组件,这就可以正常工作。

例子:

ParentWithContext

这是创建和提供上下文的组件。

请注意,该组件在其方法中使用了ChildOne组件(如下所示) 。render()

子一子二

这两个组件只是简单地使用上述上下文并显示它。

索引.tsx

运行此示例将产生以下行:

所以ChildTwo似乎从 接收到正确的信息this.context,而ChildOne没有收到任何信息。

现在出现了奇怪的部分(对我来说):当您从中删除时<ChildOne/>ParentWithContext它突然对两者都ChildOne有效ChildTwo

新的 ParentWithContext

新的 HTML 输出

运行代码

问题

static contextTypeProvider组件直接使用在其函数中使用上下文的子组件时,为什么上下文 API (>=v16.6) 不起作用(使用) render()?这是错误还是已知限制?我错过了什么?

附加信息

使用<SomeContext.Consumer>将按预期工作。

当然,这不是解决此问题的方法,但可能是有用的信息。

0 投票
0 回答
1278 浏览

reactjs - 无法从“.ts”文件导入“.tsx”文件

我正在尝试从这样的文件中导入.tsx组件:.ts

src/index.ts:

但我收到了这个错误:

这些是代码的导入部分:

src/components/Icon/Icon.tsx:

webpack.config.js:

tsconfig.json

0 投票
1 回答
608 浏览

reactjs - 根据承诺结果返回布尔值

我在处理承诺时感到困惑。我有一个返回布尔值的函数,关于承诺的结果是什么(它是 mobx 商店操作的一部分)

所以在这里,如果长度大于零,我想返回 true,否则返回 false。但是当然,在 promise 得到解决之前,会返回 false

我对使用等待、异步或都不使用它们感到困惑

0 投票
3 回答
62139 浏览

reactjs - 在 TypeScript 中使用带有子项的 forwardRef 组件

使用 @types/react 16.8.2 和 TypeScript 3.3.1。

我直接从React 文档中提取了这个 forward refs 示例,并添加了几个类型参数:

我在下面的最后一行收到以下错误FancyButton

类型“ { children: string; ref: RefObject<HTMLButtonElement>; }”不可分配给类型“ IntrinsicAttributes & RefAttributes<HTMLButtonElement>”。类型“ ”.ts(2322)children上不存在属性“ ”IntrinsicAttributes & RefAttributes<HTMLButtonElement>

React.forwardRef 的返回值的类型定义似乎是错误的,没有正确合并 children 道具。如果我<FancyButton>自动关闭,错误就会消失。缺少此错误的搜索结果使我相信我遗漏了一些明显的东西。