【问题标题】:You must specify 'to' property您必须指定 'to' 属性
【发布时间】:2019-06-23 09:18:15
【问题描述】:

我正在尝试使用Link 而不是锚标记。在这个 Link 标记中,我使用的是 to 属性,但它给了我错误,例如“您必须指定 'to' 属性”。

Nav.jsx 代码

import React from "react";
import { Link, NavLink } from "react-router-dom";
const Navbar = () => {
return (
<nav className="nav-wrapper grey darken-3">
  <div className="container">
    <Link className="brand-logo">Sherlock Holmes</Link>
    <ul className="right">
      <li>
        <Link to="/home">Home</Link>
      </li>
        <li>
          <Link to="/about">About</Link>
        </li>
        <li>
          <Link to="/contact">Contact</Link>
        </li>
      </ul>
    </div>
  </nav>
 );
};

export default Navbar;

App.jsx 代码

import React, { Component } from "react";
import NavBar from "./components/Nav";
import { BrowserRouter, Route } from "react-router-dom";
import Home from "./components/Home";
import About from "./components/About";
import Contact from "./components/Contact";

class App2 extends Component {
  state = {};
  render() {
    return (
      <BrowserRouter>
        <div className="App">
          <NavBar />
          <Route path="/home" component={Home} />
          <Route path="/about" component={About} />
          <Route path="/contact" component={Contact} />
        </div>
      </BrowserRouter>
    );
  }
}

export default App2;

它在 ReactDom.render 的 App.jsx 页面上给我一个错误,你必须指定 'to' 属性。

【问题讨论】:

    标签: javascript reactjs react-native frontend


    【解决方案1】:

    问题

    <Link className="brand-logo">Sherlock Holmes</Link>
    

    没有to 属性

    解决方案

    <Link to="/some_link" className="brand-logo">Sherlock Holmes</Link>
    

    【讨论】:

    • 从常规链接切换到基于路由器的链接时要注意的一点:检查hrefs 并确保它们是tos ;)
    • @RobertDundon 是的!起初它令人困惑,但随着我们的不断发展,我们已经习惯了。不知道为什么语言/框架开发人员不能保持开发体验一致:X
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    • 2018-04-10
    相关资源
    最近更新 更多