Giter Club home page Giter Club logo

Comments (10)

sorrycc avatar sorrycc commented on May 17, 2024

@ChrisFan @yiminghe @nikogu @afc163

from dva.

nikogu avatar nikogu commented on May 17, 2024

是否可以理解为 app.use 就是middleware,有一个问题是:hooks是需要额外封装的,还是直接使用redux的middleware也可以,像这样

import createLogger from 'redux-logger';
const logger = createLogger();

...
app.use(logger);

from dva.

sorrycc avatar sorrycc commented on May 17, 2024

app.use 加载的是 hooks,其中包含 redux 的 middleware 功能 (onStateChange)。

比如一个出错时通过 message 输出信息的插件:

import { message } from 'antd';
function antdErrorPlugin() {
  return {
    onError: (err) => { message.error(err.message); },
  };
}

app.use(antdErrorPlugin());

比如 redux-logger 使用:

import createLogger from 'redux-logger';
const logger = createLogger();

app.use({
  onAction: logger,
});

from dva.

ChrisFan avatar ChrisFan commented on May 17, 2024

onAction 做什么用的?跟 redux-middleware 不是一样的么

from dva.

afc163 avatar afc163 commented on May 17, 2024

都走 redux middleware 如何?多出来那几个 onXxx 是否有必要?

from dva.

ChrisFan avatar ChrisFan commented on May 17, 2024

我觉得考虑插件机制,除了 middleware 之外应该考虑类似 redux-form 这种,有自己的视图跟 reducer 的,怎么样集成更方便。

from dva.

yiminghe avatar yiminghe commented on May 17, 2024

应该可以很方便得使用现有redux 中间件

from dva.

sorrycc avatar sorrycc commented on May 17, 2024

@afc163

插件机制如果只考虑 redux middleware,感觉对于框架而言会不够用。我把自己想到的每个 hook 的用途在主贴更新了,然后觉得 hooks 之间配合作用应该会发挥更大的作用,比如 fetch 和 saga 的结合,可以做 loading state 的自动处理。


@ChrisFan 前面说错了,onAction 才是对应 redux 的 middleware 。


@yiminghe Redux 中间件使用感觉已经挺简单了,其他建议?

例子:

import createLogger from 'redux-logger';
app.use({
  onAction: createLogger(),
});

支持数组:

app.use({
  onAction: [m1, m2],
});

from dva.

sorrycc avatar sorrycc commented on May 17, 2024

@ChrisFan redux-form 的视图是指啥? 不是加一个 reducer 就可以了吗?

from dva.

ChrisFan avatar ChrisFan commented on May 17, 2024

当我没说,目前能想到的好像就一个 reducer。。
我们这有类似 GlobalMessage 的场景,用户需要 1. 引入 reducer 2. 引入 GlobalMessage 放在根目录下
想想也没必要再封装了,这种类型的应该不多

from dva.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.