React js - сделать ссылку на кнопку в другом приложении - PullRequest
0 голосов
/ 28 марта 2020

Я хочу сделать кнопку для ссылки на другое приложение с реагированием на библиотеки. мой код выглядит следующим образом

import React, { Component } from "react";
import { Link, NavLink, Redirect } from "react-router-dom";
import "./subportfolio.scss";

import Coffee1 from "../../assets/coffee-1.jpg";
import Coffee2 from "../../assets/coffee-2.jpg";
import Coffee3 from "../../assets/coffee-3.jpg";
import Coffee4 from "../../assets/coffee-4.jpg";
import CoffeeShop from "../../assets/coffee-shop-1.jpg";
import Tea1 from "../../assets/tea-1.jpg";
import Tea2 from "../../assets/tea-2.jpg";
import Tea3 from "../../assets/tea-3.jpg";

class SubPortfolio extends Component {
  state = {
    projectImg: {
      project1: Coffee1,
      project2: Coffee2,
      project3: Coffee3,
      project4: Coffee4,
      project5: CoffeeShop,
      project6: Tea1,
      project7: Tea2,
      project8: Tea3
    },
    direct: ""
  };

  directToGithub = () => {
    this.props.history.go("https://github.com");
  };
  render() {

    console.log(this.state.direct);
    return (
      <div className="subPortfolio">
        <div className="subPortfolio__content">

          <div className="subPortfolio__content--detail">
            <h2>Image Format</h2>
            <div className="subPortfolio__content--refer">

              <div className="subPortfolio__content--button">
                <button
                  id="github"
                  type="button"
                  onClick={this.directToGithub}
                >
                  github
                </button>

              </div>
            </div>
          </div>
        </div>
      </div>
    );
  }
}
export default SubPortfolio;

Я перепробовал все свойства истории, но все они выдают ошибку

TypeError: Cannot read property 'go' of undefined
SubPortfolio.directToGithub
C:/Users/Ermais Kidane/Documents/REACT/portfolio/src/components/subportfolio/subportfolio.js:30
  27 |  };
  28 | 
  29 |  directToGithub = () => {
> 30 |    this.props.history.go("https://github.com");
     | ^  31 |  };
  32 |  render() {
  33 |    // const projectsImage = Object.keys(this.state.projectImg).map(proImg => {

Я пытался использовать Link React-router-dom и добавляет в с предыдущим URL-адресом (http://localhost: 3000 / https://github.com) и нигде не принимает make.

как я могу сделать ссылку на другой веб-сайт? спасибо за вашу помощь.

Ответы [ 2 ]

2 голосов
/ 28 марта 2020

Если вы пытаетесь перенаправить на внешний веб-сайт, просто используйте стандартный тег <a></a>

<a href="https://www.github.com"><button id="github" type="button">github</button></a>

, если вы пытаетесь использовать <Link> для перенаправления на внутреннюю ссылку, это выглядело бы больше так:

<Link to="/github"><button id="github" type="button">github</button></Link>

И тогда в приложении должна быть настроена ссылка. js с использованием маршрутизатора, который затем будет направлен на указанный компонент

1 голос
/ 29 марта 2020

Если вы хотите программно перейти на внешний веб-сайт, вы также можете использовать window.location = "https://github.com" или, если предположить глобальный объект window, location = "https://github.com".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...