小编sun*_*lan的帖子

React Router V4正在更新URL,但没有刷新(React,Redux)

我正在尝试使用React-Router V4将路由添加到我的应用程序,但它根本不起作用.基本上,我正在尝试以编程方式更改路径history.push,即更新浏览器URL,但不更改实际应用程序内的任何内容.

注意:我使用的是redux.

关于这个问题,唯一回答的问题是:

React history.push()正在更新url但不在浏览器中导航到它

但是,我已经尝试了上述问题的答案,但它对我不起作用.

以下是重要的片段:

最顶层的文件(index.js)

...
ReactDOM.render(
    <BrowserRouter>
        <Provider store={store}>
            <App/>
        </Provider>
    </BrowserRouter>
    , document.getElementById('root'));
...
Run Code Online (Sandbox Code Playgroud)

包含路线的组件

...
export default function ContentRouter() {
    return <div className="content">
        <Route exact path="/dashboard" component={TmpDashboard}/>
        <Route exact path="/" component={() => {
            return <h1>Home</h1>
        }}/>
    </div>
}
Run Code Online (Sandbox Code Playgroud)

组件推送路线

...
this.handleGroupClick = (group) => {
    this.props.history.push(`/groups/${group}`);
    this.props.onOpenChange(false);
};
...
export default withRouter(connect(mapStateToProps, mapDispatchToProps(DrawerConnector))
Run Code Online (Sandbox Code Playgroud)

javascript url-routing reactjs react-router

9
推荐指数
1
解决办法
7680
查看次数

为什么不能通过不太具体的功能来实现Java接口

为什么我不能用Java做到这一点:

interface Context{
    void add(Integer o);
}
class Subclass implements Context{
    @Override
    public void add(Object o){...}
}
Run Code Online (Sandbox Code Playgroud)

难道Subclass.add不会实现Context.add,因为它添加(Object)可以执行所有add(Integer)可以吗?

这有什么好办法?

现在我正在做一种丑陋的方式:

private void actuallyAdd(Object o){...}
public void add(Object o){actuallyAdd(o);}
public void add(Integer o){actuallyAdd(o);}
Run Code Online (Sandbox Code Playgroud)

编辑:这不是上述问题的重复.在给定的问题中,超类是具有更通用的"对象"作为参数的超类,而子类更具体.这不起作用,因为更具体的方法可能无法处理任何对象.在我的问题中,子类不如超类特定,这意味着子类总是能够处理超类所需的任何内容.

java oop interface

1
推荐指数
1
解决办法
49
查看次数

标签 统计

interface ×1

java ×1

javascript ×1

oop ×1

react-router ×1

reactjs ×1

url-routing ×1