小编Vad*_*dim的帖子

我应该在组件中使用一个还是多个useEffect?

我有一些副作用要应用,并且想知道如何组织它们:

  • 一次性使用
  • 或几种useEffects

在性能和体系结构方面有什么更好的选择?

reactjs react-hooks

17
推荐指数
3
解决办法
7688
查看次数

警告:<span>标记上的prop"dispatch"值无效

我已经阅读了关于新变化的博客(在哪里描述了这样的警告),所以我有一个问题:编写纯组件的正确方法是什么,而不使用任何操作?

以下是此错误的示例

const Text = ({
    tagName = 'span',
    className = '',
    children = null,
    ...restProps
}) => {
    const Tag = tagName;

    return (
        <Tag {...restProps} className={className}>
            {children}
        </Tag>
    );
};

Text.defaultProps = {
    tagName: 'span',
    className: '',
    children: null,
};

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

如果我使用connect将Text连接到商店 - 我将会出现此错误,因为我没有在mapDispatchToProps函数中编写任何内容并根据文档:"如果您不提供自己的mapDispatchToProps函数或对象充满动作创建者,则默认mapDispatchToProps实现只是将调度注入到组件的道具中."

所以我有一个选择:

to declare dispatch in props in dumb component and omit it in params in Text rendering
to write fake mapDispatchToProps function in connect
Run Code Online (Sandbox Code Playgroud)

哪种变体更可取?

reactjs react-redux

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

如何为express.js应用程序设置webpack,而不是应用程序?

我需要使用Express.js,jade和less创建应用程序,并希望在webpack中捆绑应用程序.整个互联网上充满了关于设置webpack的文章反应,但没有人关于设置它与模块化的JavaScript的通常快递应用程序.

还没有一篇关于如何从.less文件制作common.css的文章

请帮帮我!

javascript less express webpack pug

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

开玩笑:未定义文档和伪造者

我已经按照doc中所述为puppeteer设置了测试环境,但是突然出现了通常的测试错误 react-test-renderer

componentDidMount() {
    document.addEventListener('mousemove', this.handleMouseMove);
}
Run Code Online (Sandbox Code Playgroud)

如我所读,关于错误的建议- testEnvironment应该设置为,jsdom但将其设置为NodeEnvironmentansector类。(https://jestjs.io/docs/ro/puppeteer

两种测试如何工作?

jestjs

5
推荐指数
0
解决办法
912
查看次数

在分配变量之前使用变量的常见模式

我有一个模块

import pino, { Logger } from 'pino';

let logger: Logger;

if (process.env.NODE_ENV === 'production') {
    const dest = pino.extreme();
    logger = pino(dest);
}

if (process.env.NODE_ENV === 'development') {
    // @ts-ignore
    logger = pino({ prettyPrint: { colorize: true } });
}

...

export default logger;
// ^^^ [ts] Variable 'logger' is used before being assigned. [2454]
Run Code Online (Sandbox Code Playgroud)

在未定义logger的情况下,没有任何情况,但即使它是未定义的,它也会替我

最后如何解决TypeScript错误:

变量“ logger”在分配前已使用。[2454]

我已经重写了代码,但错误仍然存​​在

import pino, { Logger } from 'pino';

let logger: Logger;

if (process.env.NODE_ENV === 'production') {
    const dest = pino.extreme(); …
Run Code Online (Sandbox Code Playgroud)

typescript

3
推荐指数
2
解决办法
1623
查看次数

Puppeteer:如何像 Jasmine 中的假计时器一样管理时间?

我需要像 Jasmine 中的假计时器一样管理浏览器中的时间,以避免长时间等待实时测试结果。

puppeteer

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