Comments (28)
自己写了一个demo,对参与Quick Start
和Tutorial
的编写很有兴趣。
from dva.
目前写了写感觉非常棒, 期待文档, router的history的API配置有考虑进去吗?
from dva.
history 现在就可配的,ref。如果要换成 browserHistory,可以这么做:
import dva from 'dva';
import { browserHistory } from 'dva/router';
const app = dva();
// 在 start 时传入 history
app.start(container, {
history: browserHistory,
});
from dva.
这个设置browserHistory的确好用了,之前我是hashHistory并设置{queryKey: false}来去除随机生成的hash的,但是现在用DVA还是会有随机生成的hash,不知道有没有考虑过这类需求?
from dva.
@Tinker404 https://github.com/reactjs/react-router/blob/e75a70866fa738f8b2aa7db8a1cdc5f846dbfc0a/upgrade-guides/v2.0.0.md#using-custom-histories
from dva.
抱歉,可能我没表达清楚,我是按照router文档2.0的设置的,history的版本是2.0
const appHistory = useRouterHistory(createHashHistory)({ queryKey: false }) app.start(container, { history: appHistory, });
这样设置后还是有hash
from dva.
@Tinker404 试过可以的,4bb6ab7 。
from dva.
查了一下发现是用了hashHistory这个API的关系,去掉就解决了,不知道有没有别的API能代替
subscriptions: [
function (dispatch) {
hashHistory.listen(location => {
if (location.pathname === '/tabs') {
dispatch({type: 'FETCH_DATA'});
}
});
}
]
from dva.
model 是否可以改成面向对象的写法,也便于扩展,
// 字面量
const model = new app.Model({
namespace,
state,
..
});
// 方法
const model = new app.Model()
.namespace('')
.state({});
// 也方便扩展
class CustomModel extends app.Model {};
views 层是否也可以管理起来,现在还需要手动写 connect,其实这一步可以默认做掉,没有任何 map 也不影响
class ConnectComponent extends react.Component {}
class MyComponent extends ConnectComponent {
mapStateToProps(state) {
return {
prop: state.prop,
}
}
}
from dva.
项目做下来,感觉用到继承的点并不多,真要扩展,推荐通过 high order function 的方式做。View 也是一样,React 社区倾向于用 pure function 的 component 形式。
connect 有考虑封装,和 reselect 结合,默认加缓存,保持高性能。但一个类似 mapStateToProps 的方法应该是没法省的。
from dva.
mapStateToProps 是没法省的。
业务实践可以,但社区方案应该更加可扩展。
from dva.
问下工程目录结构大致怎样的?以后的cli工具也应该遵循一定规范的吧。
看了https://github.com/sorrycc/dva/tree/master/examples/user-dashboard/src , 会按照这个结构来吗?
from dva.
@codering 是的,基本上就按这个目录了。
from dva.
dva 我建议不要放个人项目来做。
from dva.
@fengmk2 我建个 group 。
from dva.
from dva.
能有一些线上的案例介绍吗
from dva.
@gzhappysky 为什么要 线上 的案例介绍? 你想了解哪方面的内容,最好详细点。
from dva.
@sorrycc 我想看一下用saga或者dva写出来的系统体验如何,学习一下!
from dva.
@sorrycc npmjs上有1.0的beta吗?发现0.16和1.0-beta的版本中subscriptions的类型不一致。
from dva.
@WhatAKitty 参考这份文档升级,1.0-beta 里一些 break change 。
from dva.
1.0 , HMR 支持了吗? 要怎么配置?
from dva.
@itiwll 支持 components 和 routes 的,基于 babel 插件实现,指定 entry 文件。例子:https://github.com/dvajs/dva-cli/blob/master/boilerplates/app/webpack.config.js#L7-L14
from dva.
@sorrycc 可是[email protected]
init 的新项目我不管修改什么文件都会刷新页面
from dva.
刚刚尝试在ubuntu下[email protected]
init 的新项目 HRM 是可以的,windows 下要做什么才可以?
from dva.
抱歉,没有 windows 环境,定位不了问题。 hmr 是辅助功能,windows 就关闭此功能吧。。
from dva.
[HMR] connected
client.js:127 [HMR] bundle rebuilding
client.js:130 [HMR] bundle rebuilt in 320ms
process-update.js:27 [HMR] Checking for updates on the server...
process-update.js:81[HMR] The following modules couldn't be hot updated: (Full reload needed)
This is usually because the modules which have changed (and their parents) do not know how to hot reload themselves. See http://webpack.github.io/docs/hot-module-replacement-with-webpack.html for more details.
process-update.js:89[HMR] - ./src/routes/IndexPage.jsx
process-update.js:128[HMR] Reloading page
Navigated to http://localhost:8989/
from dva.
dva 课程开发 (面向内部全栈同学)
这个能放一部分出来吗?
from dva.
Related Issues (20)
- dva 的connect和React.memo函数无法连接,代码如下:cont App=()=>{ return <div></div>} export default connect(null,React.memo(App)),这样写页面直接报错 HOT 3
- state直接存贮dom节点,redux页面会很卡顿 HOT 1
- dva注册model HOT 3
- pre-commit hook failed HOT 1
- dva现在不支持react17+版本吗,后续会有支持吗 HOT 4
- 支持 es最新版 HOT 1
- [Feature Request] dispatch可以传入一个数组吗? HOT 1
- 项目不维护了,把你们的备选状态库都拿出来 HOT 5
- "immer": "^8.0.4",版本过低,扫描有安全问题,能不能升级一下到9.0.6 HOT 15
- `dva-core` CJS build relies on a `regeneratorRuntime` global, but it isn't defined HOT 1
- 现在都没人维护了么,react都更新N个版本了,还是19年更新后,路由都到了v6版本了 HOT 7
- 为什么不使用HashRouter ???
- React已经到了v18,请问dva有没有升级的计划?
- dva subscriptions不生效 HOT 5
- dva 的正式版本才 2.4.1 ,怎么 dva-immer 的 peerDependencies 里的 dva 版本已经是 2.5.0 了? HOT 1
- 如何在reducer执行完后用更新后的state来执行effects HOT 1
- react 18 下,dva 的状态更新可能延迟于dispatch.then HOT 2
- dva正式版本目前是2.4.1 不支持hooks(useSelector和useDispatch) 2.6.0正式版本啥时候发布呀 我看2.6.0 后面的版本支持hooks了
- 可以在单个reducer里获取全局state吗
- 有办法兼容react18吗?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dva.