- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
因此,在这种情况下,我倾向于强制导航到某个地方:
资源页面有删除资源的按钮。我想仅在资源被删除后导航到其他地方,但如果删除失败,我不想导航。这需要能够说“进行删除调用,等待完成,检查发生了什么,相应地导航”
这对我来说就像一种代码味道。它与react-router 的声明式方法不一致。我错了吗?
是否有更惯用的方法来执行此操作:
// this.props.resource from container
<Link onClick={_ => {
deleteResource(this.props.resource).then(result => {
if (!result) // don't navigate, dispatch an action
else browserHistory.push("different/place/entirely") // <= totally imperative
}/>
最佳答案
路由似乎势在必行,所以我不确定您是否可以解决这个问题。
至于它是否是反模式——我只能就我自己的代码库中的惯用方式发表意见,但我使用 browserHistory.push
比 Link
更方便的地方(这是经常发生的)。
也就是说:我确实认为使用 Link
很奇怪与 browserHistory.push
合作。如果没有与路由相关的原因这样做,您应该使用通用组件。
最后:it is an anti-pattern to use arrow-functions in component JSX Props 。
关于javascript - browserHistory.push() 是反模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41771734/
我正在尝试测试使用 react-router 的 browserHistory 的 React 组件。为了确保能够访问 browserHistory,我使用了 createMemoryHistory
我已经用这个(react-router 2.0)在路由器上设置了 browserHistory: import { browserHistory } from 'react-router' funct
我正在使用reactjs构建一个应用程序,在某些时候我有一个SearchForm,然后我单击其中一个项目,在该 View 中我有一个后退按钮。 我想要的是用以前的数据填充搜索表单。我已经通过 java
因此,在这种情况下,我倾向于强制导航到某个地方: 资源页面有删除资源的按钮。我想仅在资源被删除后导航到其他地方,但如果删除失败,我不想导航。这需要能够说“进行删除调用,等待完成,检查发生了什么,相应地
我正在实现 React Router,以便在单击任何表行(每一行都是用户/客户)时从搜索结果表链接到单独的配置文件组件。尝试使用 Link 格式化表格是一场噩梦,所以我在每个表格行的 onClick
目前我的 URL 结构仍然以散列语法存储历史。 例如:http://localhost:3000/#/work?_k=otstr8 我试图让它使用来自 react-router 的 browserHi
我在测试异步 redux 操作(使用 thunk)时遇到问题,该操作会引发错误,因为 browserHistory 未定义。 (为简洁起见修改了代码) actions.js import { brow
使用 browserHistory 时从 React Router 4 以编程方式导航到 anchor : import { withRouter } from 'react-router-dom'
我对 React 比较陌生;如果这是一个非常幼稚的问题,我深表歉意。 browserHistory有哪些技术优势?使其优于 hashHistory ?例如,使用 History API 是否有重大的性
作为用户,我想通过直接访问深层网址来访问内容 情况 在主页上,我有一个指向“关于”页面的链接。单击内容更改按预期方式。 页面被加载并且 url 更改为 localhost:8080/about。 如果
我正在尝试导入 browserHistory,但出现类似这样的错误。 ./src/App.js Attempted import error: 'browserHistory' is not e
我正在尝试导入 browserHistory,但出现类似这样的错误。 ./src/App.js Attempted import error: 'browserHistory' is not e
所以我尝试在 React 中使用 history,但它似乎移动了很多。我发现了这个: https://github.com/ReactTraining/react-router/blob/ab4552
我是 React 的新手,刚开始学习路由的工作原理。 hashHistory (/#/paths/like/this) 效果很好,但是 browserHistory (/paths/like/this
尝试使用 browserHistory.push 方法以编程方式更改我的路线。 它会改变路线(根据浏览器地址栏)但不会更新 View 。 这是我的代码 应用程序.jsx const AppStart
每当我在本地使用 browserHistory 时,我都没有问题,但是当我在发布它之前对其进行测试时,我得到一个包含错误的空白页面。因此,当我用 hashHistory 替换 browserHisto
我有一个 react 应用程序在 dropwizard 服务器上运行。 bundle.js 在/ui 上提供。当我打开/ui 上的 url 并导航应用程序(和转到/ui/content)时,它工作正常
我怎样才能不监听该路由?我的函数“执行”一直在运行,我点击链接 const unlisten = browserHistory.listen(unlis); 函数handleUrl(位置) { con
可以使用 作为 在新标签页中打开链接。但是可以使用 browserHistory.push 吗?在新标签页中打开链接? 最佳答案 React-router 是建立在浏览器 History API 之
我正在用 Electron 创建我的第一个 React 应用程序(也是我的第一个 Electron 应用程序)。我有两条路线,需要从一条路线导航到另一条路线。为此,我使用以下代码: 根 ReactDO
我是一名优秀的程序员,十分优秀!