변수 값을 기반으로 한 React show 컴포넌트

JsonP

React 및 Chrome 확장을 어려운 방법으로 배우기 때문에 this.url두 가지 값 중 하나가 있습니다.

null 또는 www.sample.com

비동기 호출에서 URL 값을 chrome.storage.local.get(...)얻었으므로 저장소에서 응답을 받으면 값을 this.url로 설정하고 이러한 값을 사용하여 다음과 같이 삼항 연산자를 사용하여 구성 요소를 표시하고 싶습니다.

export default React.createClass({

  url: '',

  componentDidMount: function(){
    this.observeResource();
  },


  observeResource(){
    var self = this
    function getValue(callback){
      chrome.storage.local.get('xxxx', callback);     
    }
    getValue(function (url) { 
      this.url = url.xxxx;
      return this.url;
    });
  },

  /* RENDER */
  render: function(){
    return (
      <div className="app">
        <AppHeader />
          {this.url != null ?
          <VideoFoundOverlay />
        : null}

        {this.url == null ?
          <VideoNotFoundOverlay />
        : null }             
      </div>
    )
  }
});

함수 this.url외부의 값을 얻을 수 없습니다 observeResource. 내가 어디로 잘못 가고 있습니까?

하이바라 아이
  1. 콜백이 함수로 호출되기 때문에 this다음 호출 내부는 window구성 요소 자체 아니라 window실제로 함수 의 "소유자"를 가리 킵니다 .

    getValue(function (url) { 
      this.url = url.newswireStoryUrl;
      return this.url;
    });
    

    이 오류를 방지하려면, 당신은 사용할 수있는 self.url명시 적으로 지정했기 때문에, 대신 thisself. 또는 Arrow Function대신 사용할 수 있습니다 function(...).

  2. 구성 요소를 렌더링하려면 url상태 변경 만 render함수가 호출 되기 때문에 상태로 선언해야합니다 .

    export default React.createClass({
      getInitialState: function() {
        return { url: '' };
      },
      componentDidMount: function(){
        this.observeResource();
      },
      observeResource(){
        var self = this;
        function getValue(callback){
          chrome.storage.local.get('newswireStoryUrl', callback);     
        }
        getValue(function (url) { 
          self.setState({ url: url.newswireStoryUrl });
          return self.state.url;
        });
      },
      /* RENDER */
      render: function(){
        return (
          <div className="app">
            <AppHeader />
              {this.state.url !== null ?
              <VideoFoundOverlay />
            : null}
    
            {this.state.url === null ?
              <VideoNotFoundOverlay />
            : null }             
          </div>
        );
      }
    });
    

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

React에서 한 컴포넌트의 기능을 다른 컴포넌트로 재사용하는 방법

분류에서Dev

React에서 클래스 컴포넌트를 기능 컴포넌트로 변환

분류에서Dev

React는 컴포넌트 내부의 JSON 로컬 파일 값을 읽을 수 없습니다.

분류에서Dev

React 컴포넌트 함수 소품에서 반환 값을 얻는 방법은 무엇입니까?

분류에서Dev

기능적 React 컴포넌트에서 promise 값을 사용할 수 있습니까?

분류에서Dev

React의 다른 컴포넌트에서 다른 컴포넌트로 onClick 값을 할당하는 방법

분류에서Dev

React 컴포넌트 마운트 후 GraphQL Mutation을 한 번 호출

분류에서Dev

다른 컴포넌트의 객체에서 컴포넌트 이름을 React Router Dom의 Route로 어떻게 전달할 수 있습니까?

분류에서Dev

한 유형에서 다른 유형으로 컴포넌트 변경에 반응

분류에서Dev

React에서 한 컴포넌트에서 다른 컴포넌트로 클래스 이름 전달

분류에서Dev

React 함수를 클래스 컴포넌트로 변경할 수 있습니까?

분류에서Dev

React 컴포넌트를 객체 값으로 반환하고 소품을 바인딩합니다.

분류에서Dev

매개 변수 컴포넌트가 React Router를 사용하여 ReactJS에서 렌더링 될 때 HOC 컴포넌트의 불필요한 재 렌더링을 피할 수있는 방법

분류에서Dev

React의 컴포넌트에서 값 내보내기

분류에서Dev

React 컴포넌트의 속성을 어떻게 변경할 수 있습니까?

분류에서Dev

React.js : 클래스 기반 컴포넌트를 함수로 변환하는 방법은 무엇입니까?

분류에서Dev

컴포넌트에서 관찰 가능한 값을 얻는 반응

분류에서Dev

react-hook-form을 컴포넌트로 구성하는 방법

분류에서Dev

React에서 폼을 컴포넌트로 사용하는 방법

분류에서Dev

오류를 기반으로 Vue 컴포넌트에 마크 업을 어떻게 삽입 할 수 있습니까?

분류에서Dev

React Test : 컴포넌트 내 컴포넌트 찾기

분류에서Dev

타이머 로직을위한 Redux 컴포넌트 및 useEffect

분류에서Dev

React 기능 컴포넌트 Prop 유형을 어떻게 확장 할 수 있습니까?

분류에서Dev

React 컴포넌트의 리턴 기능에서 외부 HTML을 설정할 수 있습니까?

분류에서Dev

React에서 체크 박스 값의 합을 계산하기 위해 컴포넌트를 어떻게 얻을 수 있습니까?

분류에서Dev

React : 컴포넌트의 값으로 다차원 배열 객체 필터링

분류에서Dev

모든 Angular 컴포넌트 ngAfterViewInit 메소드에 대한 로직을 구현할 수 있습니까?

분류에서Dev

React 컴포넌트에서 하나의 후크 사용으로 변환

분류에서Dev

함수 컴포넌트에서 클래스 컴포넌트로 소품을 전달하는 방법

Related 관련 기사

  1. 1

    React에서 한 컴포넌트의 기능을 다른 컴포넌트로 재사용하는 방법

  2. 2

    React에서 클래스 컴포넌트를 기능 컴포넌트로 변환

  3. 3

    React는 컴포넌트 내부의 JSON 로컬 파일 값을 읽을 수 없습니다.

  4. 4

    React 컴포넌트 함수 소품에서 반환 값을 얻는 방법은 무엇입니까?

  5. 5

    기능적 React 컴포넌트에서 promise 값을 사용할 수 있습니까?

  6. 6

    React의 다른 컴포넌트에서 다른 컴포넌트로 onClick 값을 할당하는 방법

  7. 7

    React 컴포넌트 마운트 후 GraphQL Mutation을 한 번 호출

  8. 8

    다른 컴포넌트의 객체에서 컴포넌트 이름을 React Router Dom의 Route로 어떻게 전달할 수 있습니까?

  9. 9

    한 유형에서 다른 유형으로 컴포넌트 변경에 반응

  10. 10

    React에서 한 컴포넌트에서 다른 컴포넌트로 클래스 이름 전달

  11. 11

    React 함수를 클래스 컴포넌트로 변경할 수 있습니까?

  12. 12

    React 컴포넌트를 객체 값으로 반환하고 소품을 바인딩합니다.

  13. 13

    매개 변수 컴포넌트가 React Router를 사용하여 ReactJS에서 렌더링 될 때 HOC 컴포넌트의 불필요한 재 렌더링을 피할 수있는 방법

  14. 14

    React의 컴포넌트에서 값 내보내기

  15. 15

    React 컴포넌트의 속성을 어떻게 변경할 수 있습니까?

  16. 16

    React.js : 클래스 기반 컴포넌트를 함수로 변환하는 방법은 무엇입니까?

  17. 17

    컴포넌트에서 관찰 가능한 값을 얻는 반응

  18. 18

    react-hook-form을 컴포넌트로 구성하는 방법

  19. 19

    React에서 폼을 컴포넌트로 사용하는 방법

  20. 20

    오류를 기반으로 Vue 컴포넌트에 마크 업을 어떻게 삽입 할 수 있습니까?

  21. 21

    React Test : 컴포넌트 내 컴포넌트 찾기

  22. 22

    타이머 로직을위한 Redux 컴포넌트 및 useEffect

  23. 23

    React 기능 컴포넌트 Prop 유형을 어떻게 확장 할 수 있습니까?

  24. 24

    React 컴포넌트의 리턴 기능에서 외부 HTML을 설정할 수 있습니까?

  25. 25

    React에서 체크 박스 값의 합을 계산하기 위해 컴포넌트를 어떻게 얻을 수 있습니까?

  26. 26

    React : 컴포넌트의 값으로 다차원 배열 객체 필터링

  27. 27

    모든 Angular 컴포넌트 ngAfterViewInit 메소드에 대한 로직을 구현할 수 있습니까?

  28. 28

    React 컴포넌트에서 하나의 후크 사용으로 변환

  29. 29

    함수 컴포넌트에서 클래스 컴포넌트로 소품을 전달하는 방법

뜨겁다태그

보관