반응의 다양한 렌더링 방법은 무엇입니까?

青灯夜游
풀어 주다: 2022-03-22 14:06:31
원래의
2954명이 탐색했습니다.

React 렌더링 방법은 다음과 같습니다. 1. 두 구성 요소의 렌더링에 적합한 조건식을 사용한 렌더링 2. 구성 요소 유무에 관계없이 "&&" 연산자를 사용한 렌더링 3. 가변 출력 구성 요소 렌더링 사용 기능적 메서드를 사용하여 구성 요소를 출력하거나 기능적 구성 요소를 사용하여 렌더링합니다.

반응의 다양한 렌더링 방법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, 반응 버전 17.0.1, Dell G3 컴퓨터.

React 컴포넌트의 조건부 렌더링의 여러 가지 방법

1. 조건식 렌더링(두 컴포넌트의 렌더링에 적용 가능)

render() {
  const isLoggedIn = this.state.isLoggedIn;
  return (
    <div>
      {isLoggedIn ? (
        <LogoutButton onClick={this.handleLogoutClick} />
      ) : (
        <LoginButton onClick={this.handleLoginClick} />
      )}
    </div>
  );
}
로그인 후 복사

2. && 연산자 렌더링(사용 여부에 따라 적용 가능한 렌더링) 컴포넌트 존재 여부)

function Mailbox(props) {
  const unreadMessages = props.unreadMessages;
  return (
    <div>
      <h1>Hello!</h1>
      {unreadMessages.length > 0 &&
        <h2>
          You have {unreadMessages.length} unread messages.
        </h2>
      }
    </div>
  );
}
로그인 후 복사

3. 변수를 사용하여 컴포넌트 렌더링 출력(다양한 조건에서 여러 컴포넌트로 렌더링하는 데 적합)

render() {
    const isLoggedIn = this.state.isLoggedIn;
 
    const button = isLoggedIn ? (
      <LogoutButton onClick={this.handleLogoutClick} />
    ) : (
      <LoginButton onClick={this.handleLoginClick} />
    );
 
    return (
      <div>
        <Greeting isLoggedIn={isLoggedIn} />
        {button}
      </div>
    );
  }
로그인 후 복사

4. 함수형 메서드를 사용하여 컴포넌트를 출력하거나 함수형 표현식을 사용합니다. 복잡한 조건에 따라 여러 하위 구성 요소를 출력해야 하는 상황에 적용 가능)

1. 기능적 접근

renderButton(){
    const isLoggedIn = this.state.isLoggedIn;
    if(isLoggedIn)
    {
       return (<LogoutButton onClick={this.handleLogoutClick} />);
    }
    else
    {
      return (<LoginButton onClick={this.handleLoginClick} />);
    }
}
 
render() {
    return (
      <div>
        <Greeting />
        {this.renderButton()}
      </div>
    );
  }
로그인 후 복사

2. 기능적 구성 요소

function Greeting(props) {
  const isLoggedIn = props.isLoggedIn;
  if (isLoggedIn) {
    return <UserGreeting />;
  }
  return <GuestGreeting />;
}
 
ReactDOM.render(
  // Try changing to isLoggedIn={true}:
  <Greeting isLoggedIn={false} />,
  document.getElementById(&#39;root&#39;)
);
로그인 후 복사

[관련 권장 사항: Redis 비디오 튜토리얼]

위 내용은 반응의 다양한 렌더링 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿