javascript - 使用 React Router 4 和 Redux 时,React View 不会渲染

标签 javascript reactjs react-redux react-router-v4

我想使用 React、React router 4、Redux 创建简单的示例。 但我陷入了渲染过程。 路由器用户正在正常渲染,但我的主页 View 却没有。 我也没有错误,所以我不知道问题是什么。 任何帮助我都会非常感激。

文件:

index.js

import React from "react";
import { render } from "react-dom";
import { BrowserRouter as Router,Route,Link } from 'react-router-dom';
import { createStore,applyMiddleware } from "redux";
import thunk from "redux-thunk";
import rootReducer from "./reducers/rootReducer";
import { Provider } from"react-redux"
import { composeWithDevTools } from "redux-devtools-extension";
import { Home } from "./components/home/Home";
import { User } from "./components/user/User";

const store = createStore(
    rootReducer,
    composeWithDevTools(
        applyMiddleware(thunk)
    )
);

class App extends React.Component{
    render(){
        return(
            <Provider store={store}>
            <Router>
                <div>
                    <Link to="/">Home</Link>
                    <Link to="/user">User</Link>
                    <Route exact path="/" component={Home}/>
                    <Route exact path="/user" component={User}/>
                </div>
            </Router>
            </Provider>

        );
    }
}

render(<App/>,window.document.getElementById("app"));

rootReducer.js

import { combineReducers } from "redux";
import userReducer from "./userReducer";

export default combineReducers({
   user:userReducer
});

userReducer.js

export default function User(state=[{name:'TMP'}],action={}){
    switch (action.type){
        default: return state
    }
}

Home.js

import React from "react";
import {connect} from"react-redux"
import { withRouter } from 'react-router-dom'


class Home extends React.Component{
    render(){
        return(
            <div>
                TADAAAAA HOME
                {user}
            </div>
        );
    }
}

function mapStateToProps(state) {
    return{
        user:state.user
    }
}
export default withRouter(connect(mapStateToProps)(Home))

user.js

import React from "react";


export class User extends React.Component{
    render(){
        return(
            <div>
                USER
            </div>
        );
    }
}

最佳答案

import { Home } from "./components/home/Home";

应该是:

import Home from "./components/home/Home";

Here您可以了解默认导入/导出与否的区别

关于javascript - 使用 React Router 4 和 Redux 时,React View 不会渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44542507/

相关文章:

javascript - reduxReact-native 中的搜索功能

javascript - Jquery 图像预览并仍然保留在提交时?

javascript - 实时检查sessionStorage

javascript - 如何将数组插入嵌套数组?

javascript - editly - 创建视频后在哪里可以获得返回值?

javascript - 组件未重新加载但状态随 useState 发生变化

javascript - 如何阻止 Android 硬件后退按钮在 react-native 的 react-navigation 中运行?

javascript - backbone.js 模型属性未定义

javascript - React JS 的 FB.Canvas.setAutoGrow() 问题

javascript - Redux mapDispatchToProps 声明中的输入顺序