【发布时间】:2017-01-06 13:52:51
【问题描述】:
我在使用 React-Router 时遇到了一个非常奇怪的行为。以下是我在 React 中的组件代码:
import React, { PropTypes } from 'react';
import {Router, Route, IndexRoute, Link} from 'react-router'
export default class LinkWidget extends React.Component {
render()
{
return (
<li>
<Link className="page-scroll" to={"#" + this.props.path}>{this.props.name}</Link>
</li>
);
}
}
在其渲染中,我得到以下 HTML,即没有 href 属性的锚标记。
<ul class="nav navbar-nav navbar-left">
<li class="hidden">
<a href="#page-top"></a>
</li>
<li>
<a class="page-scroll">Services</a>
</li>
<li>
<a class="page-scroll">Portfolio</a>
</li>
<li>
<a class="page-scroll">About</a>
</li>
<li>
<a class="page-scroll">Team</a>
</li>
<li>
<a class="page-scroll">Contact</a>
</li>
</ul>
这也发生在其他组件中。我知道我错过了一些东西,但我不知道它是什么。我/m 一个尝试 React 和 React Router 的新手。任何帮助将不胜感激。谢谢是提前:)
----更新----
这是我的 react 组件的样子(使用 React 开发者工具):
我在这里做错了,但我无法得到。
更新 2
我正在遵循容器组件模式,我是否有可能以某种方式将路由文件写错了。虽然我不明白为什么当我传递静态数据时会出现问题。
有人可以指导我使用容器组件模式进行路由吗?
【问题讨论】:
-
您的 this.props.path 道具是否正确来自父母?你可以打印和检查一次吗?你也可以分享你的父组件一次,从那里传递道具到 LinkWidget
-
道具正在正确返回@HarkiratSaluja。我又检查了一遍。
-
@Aakanksha 如果你使用这个
to={`#${this.props.path}`}怎么样? -
@KienThanh,也没有运气。我已经更新了这个问题,希望它能给出一个关于出了什么问题的想法。谢谢
标签: ruby-on-rails-4 reactjs hyperlink href react-router