"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > React Router의 핸들러 구성 요소에 소품을 전달하는 방법은 무엇입니까?

React Router의 핸들러 구성 요소에 소품을 전달하는 방법은 무엇입니까?

2024-11-08에 게시됨
검색:651

How to Pass Props to Handler Components in React Router?

React Router를 사용하여 핸들러 구성 요소에 Prop 전달

React Router를 활용하는 React.js 애플리케이션에서는 특정 핸들러 구성 요소에 Prop을 전달해야 하는 시나리오가 발생할 수 있습니다. . 다음 애플리케이션 구조를 고려하십시오.

var Dashboard = require('./Dashboard');
var Comments = require('./Comments');

var Index = React.createClass({
  render: function () {
    return (
        
Some header
); } }); var routes = ( ); ReactRouter.run(routes, function (Handler) { React.render(, document.body); });

Comments 구성 요소에 prop을 전달하려면 일반적으로 와 같은 구문을 사용합니다. 그러나 이 접근 방식은 핸들러 구성 요소가 순수 함수 또는 클래스 구성 요소일 것으로 기대하는 React Router와 호환되지 않습니다.

한 가지 해결책은 핸들러 구성 요소와 전달된 소품을 모두 캡슐화하는 래퍼 구성 요소를 만드는 것입니다.

// CommentWrapper
var CommentWrapper = React.createClass({
  render: function () {
    return ;
  }
});

var routes = (
  
    
    
  
);

또는 클래스 구성요소와 this.props.route 객체를 활용하여 상위 경로에 전달된 props에 액세스할 수 있습니다.

class Index extends React.Component { 

  constructor(props) {
    super(props);
  }
  render() {
    return (
      

Index - {this.props.route.foo}

); } } var routes = ( );

/ 경로에 foo prop을 설정하면 나중에 this.props.route를 사용하여 Index 구성 요소 내에서 prop에 액세스할 수 있습니다.

릴리스 선언문 이 글은 1729674935에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3