小编Joh*_*ohn的帖子

在TypeScript React中导入图像 - "无法找到模块"

我正在尝试导入图像以在使用TypeScript的React组件中使用.我正在使用的捆绑包是Parcel(不是Webpack).

.d.ts在项目中创建了一个带有图像文件扩展名的文件,并将其包含在里面tsconfig.json.但是,当我尝试导入图像时,T​​S对我大吼大叫Cannot find module.

我的项目结构:

+ src
  + assets
    - image.jpg
  + components
    - Box.tsx
    - App.tsx
  - index.d.ts
  - index.html
  - index.tsx
- tsconfig.json
- tslint.json
Run Code Online (Sandbox Code Playgroud)

我试着App.tsx像这样导入图像.VS Code强调 '../assets/image.jpg'并说Cannot find module '../assets/image.jpg'.

import * as React from 'react';
import * as img from '../assets/image.jpg';

const Box = props => {
  // do things...
}

export default Box;
Run Code Online (Sandbox Code Playgroud)

我在网上发现的讨论指出需要.d.ts自己定义一个文件,所以我index.d.ts用这一行创建了这个文件.

declare module '*.jpg';
Run Code Online (Sandbox Code Playgroud)

然后加入"include": ["./src/index.d.ts"] …

bundler typescript reactjs visual-studio-code parceljs

18
推荐指数
9
解决办法
9545
查看次数

将 Flutter 动画直接渲染到视频

考虑到 Flutter 使用自己的图形引擎,有没有办法将 Flutter 动画直接渲染到视频中,或者以逐帧的方式创建屏幕截图?

一个用例是,这可以让观众更轻松地进行演示。

例如,一位作者想要创建一个 Flutter 动画教程,他们在其中构建了一个演示应用程序并撰写了一篇配套博客文章,使用直接用 Flutter 渲染的动画 GIF/视频。

另一个例子是 UI 团队之外的一位开发人员发现一个复杂的动画有一个小错误。无需实际学习动画代码,他们就可以将动画渲染成视频并使用注释编辑该短片,然后将其发送给 UI 团队进行诊断。

dart flutter flutter-animation

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

如何在没有构造函数的情况下使用Typescript在React中正确设置初始状态?

在现代JS中,我们可以直接为React组件设置一个初始状态,如下所示:

class App extends React.Component {
  state = {value: 10}

  render() {
    return <div>{this.state.value}</div>
  }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用Typescript执行此操作时,TSLint说"类属性'状态'必须标记为'私有','公共'或'受保护'".如果我将其设置为"私有",则棉短绒将报告Class 'App' incorrectly extends base class 'Component<{}, { value: number; }, any>'. Property 'state' is private in type 'App' but not in type 'Component<{}, { value: number; }, any>'.App.我知道我可以调整linter规则以跳过这种检查,但是检查类属性的可见性通常是我想要利用的好事.

测试完所有三个选项后,只选择"public"不会导致TSLint抛出错误.但由于此处的状态代表了此特定组件的内部状态,因此将其设置为公共状态似乎很奇怪.我这样做是正确的吗?

class App extends React.Component<{}, { value: number }> {
  public state = { value: 10 };

  public render() {
    return <div>{this.state.value}</div>;
  }
}
Run Code Online (Sandbox Code Playgroud)

在我在网上找到的所有TS-React教程中,都使用了一个构造函数,就像旧的JS语法一样.

class App extends React.Component<{}, { value: …
Run Code Online (Sandbox Code Playgroud)

constructor class typescript reactjs

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

在透明视图上创建阴影 - 反应本机

我必须从具有绝对位置/尺寸的透明视图投射阴影,但似乎无法做到这一点。整个结构从上到下:

  • 一些文字覆盖透明视图
  • 带阴影的透明视图
  • 下面显示的其他内容

如果我将视图的背景颜色定义为“透明”,则阴影将应用于其子元素,在本例中为文本叠加。如果我将背景颜色定义为纯色,则下面显示的其他内容将被遮挡。

我怎样才能实现这个目标?

编辑:我做了一些实验,这很奇怪:子元素或视图本身的阴影似乎基于该视图的 Alpha 通道的透明度。如果我在那里放置一个不完全透明的背景,或者甚至在其中嵌套一个虚拟视图并通过 使其透明opacity,从视图投射的阴影仍然不完全是我指定的 - 这有点像与其共享阴影总和子元素....

任何解决方法将不胜感激!这种行为让我发疯。

我试图用这种风格创建阴影:

shadowColor: 'black',
shadowOffset: {
    width: 0,
    height: 1
},
shadowRadius: 4,
shadowOpacity: 1
Run Code Online (Sandbox Code Playgroud)

另一个编辑:我使用透明图像作为背景,它也不起作用:(

javascript android ios react-native

7
推荐指数
0
解决办法
2616
查看次数

使用MediaRecorder将音频和视频流合并为一个文件

我正在制作一个小型交互式动画/游戏(使用PixiJS在画布上),并希望为用户提供保存渲染动画的选项。研究完成后,MediaRecorder似乎是我用来记录和呈现视频的API。但是,MediaRecorder构造函数仅允许将一个流用作源。

如何合并其他流(音频效果),以​​便录制的视频文件中也有声音?

javascript html5 html5-canvas web-mediarecorder

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