The sample client code in usage doesn't work.
shilei812 opened this issue · 2 comments
https://codesandbox.io/s/gL3zJKv9Z
`import { Router,Route , browserHistory } from 'react-router';
import { ReduxAsyncConnect, asyncConnect, reducer as reduxAsyncConnect } from 'redux-async-connect'
import React from 'react'
import { render } from 'react-dom'
import { createStore, combineReducers } from 'redux';
import {Provider} from 'react-redux';
// 1. Connect your data, similar to react-redux @connect
@asyncConnect({
lunch: (params, helpers) => Promise.resolve({id: 1, name: 'Borsch'})
})
class App extends React.Component {
render() {
// 2. access data as props
const lunch = this.props.lunch
return (
)
}
}
// 3. Connect redux async reducer
const store = createStore(combineReducers({reduxAsyncConnect}), window.__data);
// 4. Render Router
with ReduxAsyncConnect middleware
render((
<Router render={(props) => <ReduxAsyncConnect {...props}/>} history={browserHistory}>
), document.getElementById('root'))`
result
Error in index.js:
TypeError: asyncItems.map is not a function
OPEN MODULE
Have the same issue
.map only works on arrays which the code in @asyncconnect isn't - it's an object. I'm not using this at the moment but from memory you need to add an array like this:
@asyncconnect([{ lunch: (params, helpers) => Promise.resolve({id: 1, name: 'Borsch'}) }])