0.4.1 • Published 6 years ago

dva-hot v0.4.1

Weekly downloads
3
License
ISC
Repository
github
Last release
6 years ago

dva-hot

version

HMR plugin for dva without babel inspired by babel-plugin-dva-hmr and react-hot-loader.

Install

$ npm install dva-hot

Usage

Patch App

import hot from 'dva-hot'
import dva from 'dva'

const app = dva()

hot.patch(app) // you must patch `app` before calling app.{model,router,start}

app.model(require('./models/a').default)
app.model(require('./models/b').default)
app.router(require('./router').default)

app.start('#root')

After dva@2.2.2, the usage below should work:

import hot from 'dva-hot'
import dva from 'dva'
import { createElement } from 'react'
import { render } from 'react-dom'

const app = dva()

hot.patch(app) // you can pass container to hot.patch like `hot.patch(app, container)`

app.model(require('./models/a').default)
app.model(require('./models/b').default)
app.router(require('./router').default)

// After dva@2.2.2: pass container for HMR
render(createElement(app.start()), hot.setContainer('#root'))
// or
// render(createElement(app.start()), hot.setContainer(document.querySelector('#root')))

Self-accepted Router

import React from 'react'
import { routerRedux } from 'dva/router'
import { renderRoutes } from 'react-router-config'
import hot from 'dva-hot'
import routes from '../routes'

const { ConnectedRouter } = routerRedux

function RouterConfig({ history }) {
  return <ConnectedRouter history={history}>{renderRoutes(routes)}</ConnectedRouter>
}

export default hot.router(module)(RouterConfig)

Self-accepted Model

import hot from 'dva-hot'

export default hot.model(module)({
  namespace: 'a-dva-model'
  state: [],
  // upgrade to dva@2.2.2 if you use models that without `reducers`
})

LICENSE

ISC

0.4.1

6 years ago

0.4.0

7 years ago

0.3.0

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.0

7 years ago

0.0.2

7 years ago

0.0.1

8 years ago