gpt4 book ai didi

javascript - 用 React 编写的 Chrome 扩展中的路由

转载 作者:数据小太阳 更新时间:2023-10-29 05:49:24 25 4
gpt4 key购买 nike

我想在我的 Chrome 扩展程序中添加 2 个页面。例如:第一个(默认)页面包含用户列表,第二个页面包含针对该用户的操作。

我想通过点击用户来显示第二页(在我的例子中是ClickableListItem)。我使用 React 和 React 路由器。这是我拥有的组件:

class Resents extends React.Component {
constructor(props) {
super(props);
this.handleOnClick = this.handleOnClick.bind(this);
}
handleOnClick() {
console.log('navigate to next page');
const path = '/description-view';
browserHistory.push(path);
}
render() {
const ClickableListItem = clickableEnhance(ListItem);
return (
<div>
<List>
<ClickableListItem
primaryText="Donald Trump"
leftAvatar={<Avatar src="img/some-guy.jpg" />}
rightIcon={<ImageNavigateNext />}
onClick={this.handleOnClick}
/>
// some code missed for simplicity
</List>
</div>
);
}
}

我还尝试将 ClickableListItem 包装到 Link 组件中(来自 react-router),但它什么也没做。

也许问题在于 Chrome 扩展程序没有它们的 browserHistory...但是我在控制台中没有看到任何错误...

我可以用 React 做哪些路由?

最佳答案

我知道这篇文章很旧。不过,我会在这里留下我的答案,以防万一有人仍在寻找它并希望快速得到答案来修复他们现有的路由器。

在我的例子中,我只是从 BrowserRouter 切换到 MemoryRouter。无需额外的 memory 包,它就像魅力一样工作!

import { MemoryRouter as Router } from 'react-router-dom';

ReactDOM.render(
<React.StrictMode>
<Router>
<OptionsComponent />
</Router>
</React.StrictMode>,
document.querySelector('#root')
);

您可以在 ReactRouter Documentation 中尝试其他适合您的方法

关于javascript - 用 React 编写的 Chrome 扩展中的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41335424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com