>웹 프론트엔드 >JS 튜토리얼 >React-Router와 연결하여 Prop을 전달하는 방법은 무엇입니까?

React-Router와 연결하여 Prop을 전달하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-01 13:20:29913검색

How to Pass Props in Link with React-Router?

Link React-Router에서 Prop 전달

React-Router의 Link 구성 요소를 사용하면 구성 요소 간에 데이터를 전달할 수 있습니다. 이렇게 하려면 링크의 to prop에 매개변수를 정의하면 this.props를 사용하여 연결된 구성요소에서 해당 매개변수의 값에 액세스할 수 있습니다.

문제:

정의.

해결책:

정의:

<Route name="ideas" path="/:testvalue" handler={CreateIdeaView} />

위치를 사용하여 데이터 전달:

react-router v4/v5를 사용하는 경우 위치 객체를 통해 데이터를 전달할 수 있습니다:

링크(쿼리):

<Link to={{pathname: '/', query: {backUrl: 'theLinkData'}}} />

링크(검색):

<Link to={{pathname: '/', search: '?backUrl=theLinkData'}} />

데이터 접근(기능적 구성 요소) ):

const CreatedIdeaView = () => {
  const { query, search } = useLocation();
  console.log(query.backUrl, new URLSearchParams(search).get('backUrl'));
};

데이터 액세스(클래스 구성 요소):

class CreateIdeaView extends React.Component {
  render() {
    console.log(this.props.location.query.backUrl);
    return <div>{this.props.location.query.backUrl}</div>;
  }
}

예:

class App extends React.Component {
  render() {
    return (
      <div>
        <Link to={{pathname: '/ideas', query: {foo: 'bar'}}} />
        <RouteHandler />
      </div>
    );
  }
}
class Ideas extends React.Component {
  render() {
    const { match, location } = this.props;
    console.log('props form link', this.props);
    return <p>{location.query.foo}</p>;
  }
}

위 내용은 React-Router와 연결하여 Prop을 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.