javascript - 使用 Redux 和 Router 进行 React - 不是渲染组件

标签 javascript reactjs react-router react-redux

我不明白为什么组件 Sample 根本不渲染。 URL 更改,控制台中没有错误,但组件未安装。无论是函数式组件还是React类。以及为什么 URL 为“/thisworks”的内联组件能够正确呈现。我在这里做错了什么?

index.jsx:

render(
    <Provider store={store}>
        <Root />
    </Provider>,
    document.getElementById("root")
);

root.js:

const Root = () => (
    <div>
        <BrowserRouter>
            <Switch>
// routes below work fine
                <Route path="/login" component={LoginPage} />
                <Route path="/" component={App} />
            </Switch>
        </BrowserRouter>
        <DevTools />
    </div>
)

应用程序.js:

class App extends React.Component {
    render() {
        return (
            <div>
                <NavMenu />
                <Switch>
                    <Route path="/thisworks" render={(props) => {
                        return (<div>This works!</div>);
                    }} />
                    <Route path="/sample" Component={Sample} /> // not working - not rendering component Sample
                    <Redirect from="/" to="/sample" />
                </Switch>
            </div>
        );
    }
}

const mapStateToProps = (state, ownProps) => ({})    
const mapDispatchToProps = (dispatch) => ({})    
export default withRouter(connect(mapStateToProps, mapDispatchToProps)(App))

示例.jsx:

const Sample = (props) => {
    return (
        <div>
            Sample!
        </div>
    );
}
export default Sample;

最佳答案

也许组件而不是组件

<Route path="/sample" component={Sample} />

关于javascript - 使用 Redux 和 Router 进行 React - 不是渲染组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49372716/

相关文章:

reactjs - 如何正确处理react-router中的子路由(路由有效,但URL随着每次点击而增长)

PHP获取用户ip,真的靠谱吗?

javascript - Google 图表生成 1px 分隔符

javascript - 对象从根组件作为 prop 传递,而不是渲染更改

reactjs - React router v4 - 在导航时保留查询参数

reactjs - 如何获取父路由组件中的参数

javascript - jquery 动画不会更改为高度自动

javascript - 获取 JSON 数组中的最大值

javascript - 如何将高阶组件连接到 Redux 存储?

javascript - 监听特定的 Store 属性更改