0

マイindex.jsがどのように見えるの反応コンポーネントで提供されています:歴史はavailbはありませんが、それは

const store = configureStore() 

render(
    <Root history={history} store={store} />, 
    document.getElementById('root') 
) 

と私のRoot.jsは、次のようになります。

class Root extends Component { 
    render() { 
    const { store } = this.props 

    return (
     <Provider store={store}> 
      <ReduxRouter /> 
     </Provider> 
    ) 
    } 
} 

Root.propTypes = { 
    store: PropTypes.object.isRequired, 
    history: PropTypes.object 
} 

export default Root 

と私のconfigureStore.jsはのようなものです:

export default function configureStore() { 

    let createStoreWithMiddleware = compose(
    applyMiddleware(thunk), 
    reduxReactRouter({ routes, createHistory }) 
    )(createStore) 

    const store = createStoreWithMiddleware(rootReducer) 

    return store 

routes.js

const routes = (
    <Router> 
     <Route path={"/"} component={LoginView}> 
     <Route path={"/login"} component={DashboardView} /> 
     </Route> 
    </Router> 
) 

export default routes 

と私LoginViewコンポーネントは次のようである:

class LoginView extends Component { 

    componentDidMount(){ 
     const {actions} = this.props 
     actions.login() 
    } 

    render() { 
     console.log("printing props") 
     console.log(this.props) 
     console.log(this.props.history) 
     return (
      <div> 
       <Login /> 
      </div> 
     ) 
    } 
} 

export default LoginView 


function mapStateToProps(state) { 
    return { 
     login: state.login 
    } 
} 

function mapDispatchToProps(dispatch) { 
    return { 
    actions: bindActionCreators(Actions, dispatch) 
    } 
} 

export default connect(mapStateToProps, mapDispatchToProps)(LoginView) 

私はhistoryに関連する非常に混乱しています。 私のコンポーネントでは、私はhistoryを小道具にしています。 this.props.historyのように、私はconsole.log(this.props.history)をコンポーネントに入れました。

しかし、私のactionsに私はhistoryにどのような方法を取得することはできません。..

私の行動は次のようである:

export function login(){ 

    return (dispatch, getState, history) => { 
     console.log("get state") 
     console.log(getState()) 
     console.log("history") 
     console.log(history) 
     var message = "hellooww world" 
     return { message, type: loginTypes.LOGIN } 
    } 
} 

ここで私はgetState()なくhistoryを得ることができます。

どうすればいいですかredirect?私はそれが好きリダイレクトすることができるように、私はhistoryをしたい:

history.pushState(null, '/dashboard')

誰も私を助けることができますか..?これについては本当に混乱して...

答えて

関連する問題