Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 在React路由器中没有链接的href_Ruby On Rails 4_Reactjs_Hyperlink_Href_React Router - Fatal编程技术网

Ruby on rails 4 在React路由器中没有链接的href

Ruby on rails 4 在React路由器中没有链接的href,ruby-on-rails-4,reactjs,hyperlink,href,react-router,Ruby On Rails 4,Reactjs,Hyperlink,Href,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> &

我面临着一种非常奇怪的行为。以下是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>
    );
  }
}
import React,{PropTypes}来自'React';
从“react Router”导入{Router,Route,IndexRoute,Link}
导出默认类LinkWidget扩展React.Component{
render()
{
返回(
  • {this.props.name}
  • ); } }
    在它的呈现中,我得到了以下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>
    
    • 我在这里做错了什么,但我不能得到什么

      更新2

      我在遵循容器组件模式,可能是因为我写的路由文件有误。虽然我不明白为什么在传递静态数据时会出现问题


      有人可以指导我使用容器组件模式进行路由吗

      解决方案很简单,在Lin中的
      to属性不添加
      “#”
      。链接属性转换是这样的,它会自动向锚href添加一个
      #/

      使用:

      import React,{PropTypes}来自'React';
      从“react Router”导入{Router,Route,IndexRoute,Link}
      导出默认类LinkWidget扩展React.Component{
      render()
      {
      返回(
      
    • {this.props.name}
    • ); } }
      下面是我测试此功能的一个示例fiddle的链接


      您的this.props.path道具是否正确来自家长?你能打印并检查一下吗?您还可以共享一次父组件,从该组件将道具传递给LinkWidget。道具将正确返回@HarkiratSaluja。我又查了一遍。@Aakanksha如果你用这个
      来={`${this.props.path}
      ?@KienThanh,也不走运。我已经更新了这个问题,希望它能让你了解出了什么问题。ThanksI也尝试过,但在没有href prop的情况下,它仍然以相同的方式呈现锚。@Aakanksha您能检查this.props.path的值吗?是的,我得到了'this.props.path'。我已经更新了问题,请看一下。我可能错过了一些非常小的东西。
      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>
          );
        }
      }