reactjs - 链接需要按两次,React Router v4
问题描述
我有一张卡片列表,当我按下它们时,只有 url 会发生变化。
该路由由一个 baseUrl + 一个不断变化的 ID 组成。
我尝试了这些解决方案:
- 添加 withRouter 并在路由上添加“精确”标签
- 我不使用调度,是不同类型的问题
或者从块组件的文档中,我将位置传递给所有可能阻止更改的候选人。
class Main extends Component { constructor(props) { super(props); } render() { const { results, fetchState, location } = this.props; return ( <Strip location={location}> { results.length > 0 ? <div location={location}> <Sort /> { results.map((result, i) => <div key={i} location={location}> <Card to={urls.profile.base + '/' + result._id || 'unknown'} result={result} _id={result._id} /> <Seperator /> </div> )} </div> : <Flex> { fetchState === 'pending' ? <Loader /> : <div style={{ textAlign: 'center' }}> No result found </div> } </Flex> } </Strip> ); }
} export default withRouter(connect(mapStateToProps, mapDispatchToProps)(Main));
和卡片组件:
const Card = (props) => {
const { result, _id } = props;
return (
<Resp.desktop>
{
(matches) =>
<Element mobile={!matches} >
<Name company={result.company} />
{matches ?
<Info services={result.services} company={result.company} />
:
<Info company={result.company} />
}
{matches && <Pictures />}
</Element>
}
</Resp.desktop>
);
}
有谁知道如何解决这个问题?
谢谢!
解决方案
推荐阅读
- scala - 为什么伴生对象在编译时可以访问其伴生类中的私有 val,但在解释时不能这样做?
- r - 2 个条件的 top_n
- python - 将 2 列合并为 1 列
- python - Python - 没有taskkill / F无法终止控制台脚本
- react-native - 排毒挂在 detox.init
- svg - 将 SVG 旋转 90 度后平移无法正常工作
- python - python中的阶乘组合列表
- c# - System.Text.Json:从 System.IO.Pipelines 反序列化
- android - Android 迁移上传密钥
- javascript - 自定义标头的axios拦截器请求单元测试