Framework7反应路由无法正常工作

时间:2017-11-26 20:12:20

标签: reactjs react-redux react-router-v4 html-framework-7

我正在尝试使用react和framework7构建移动网络应用,但我似乎无法弄清楚框架7的路由是如何工作的。

下面你可以看到使用framework7 app初始化pagecontainer:

export default class AbstractPage extends Component {
constructor(props) {
    super(props);

    this.state = {
        initialized: false
    };

    const logger = createLogger();
    const reducer = combineReducers({ ...props.reducer, routing: routerReducer });
    this.history = createBrowserHistory();
    const historyMiddleware = routerMiddleware(this.history);
    this.store = createStore(reducer, applyMiddleware(promise(), historyMiddleware, logger, thunkMiddleware));

    this.routes: [
        {path: '/', component: WallContainer},
        {path: '/create', component: CreateContainer},
    ];
}

render() {
    return (
        <Provider store={this.store}>
            <Router history={this.history}>
                <Framework7App themeType="material" routes={this.routes}>
                <Statusbar />
                <LeftPanel />
                <Views navbarThrough>
                    <View main url="/" dynamicNavbar>
                        <Pages>
                            <WallContainer />
                        </Pages>
                    </View>
                </Views>
            </Framework7App>
            </Router>
        </Provider>
    );
}
}

通过上面的配置,我总是会渲染WallContainer。当我点击链接进入&#39;创建&#39;页面,网址更改为localhost:3000 / create,但页面没有更改,并且wallcontainer仍然可见。有谁知道我在这里做错了什么?谢谢!

1 个答案:

答案 0 :(得分:0)

原来我忘记将我的framework7App上下文添加到我的类中。

WallContainer.contextTypes = {
    framework7AppContext: PropTypes.object
};

如果您没有添加此上下文,则不会收到警告或异常,但路由不起作用。