2016-08-25 10 views
0

구성 요소를 렌더링하기 위해 reactJS 구성 요소의 인스턴스를 사용할 수 있습니까? 예,의 내 reactJS 구성 요소 내 다른 구성 요소 내에서 내가 할 수있는 지금구성 요소를 렌더링하는 reactJs 구성 요소의 인스턴스

class myComponent extends Component{ 
    constructor(props){ 
    super(props) 
    this.state = { 
     next:false 
    } 
    this.alertSomething = this.alertSomething.bind(this); 
    this.showNext = this.showNext.bind(this); 
    } 

    showNext(){ 
    console.log('wow'); 
    console.log(this.state, this, this.state.next); 
    this.setState({next:true}); 
    } 

    alertSomething(){ 
    alert('Alert Something') 
    console.log(this.state, this, this.state.next); 
    this.setState({next:true}); 
    } 

    render(){ 

    return(
     <div className='column'> 
     </div> 
    ) 
    } 
} 

export default myComponent 

라고하자; 내가 거기 썰매의 모든 모든 구성 요소 그냥 자바 스크립트 객체 후,이를 달성하기 위해 다른 방법이 될 생각

let x = new displayContent.renderComponent(); 
    render(
    <x /> 
    //or 
    <x.render /> 
    ) 

는 // 나는 시도 모두 작동하지 않았다.

동시에 내가 함수를 호출하여 상태를 변경할 수 있습니까? 처럼.

x.someFunction(); 

여기서 someFunctinosetState 하, 반응 성분을 그 안에있다.

가능합니까? 또는 나는 무엇인가 놓치고 있냐?

편집 : 반응 성분을 렌더링하려는 경우 항상 <component />을 사용할 수 있음을 분명히 이해합니다. 이 질문은 호기심에서 벗어났습니다.이 작업을 수행 할 수 있습니까? 그렇지 않다면, 왜?, 나는 다른 자바 스크립트 객체와 다른 점을 의미합니다.

+1

나는 당신이 무엇을 요구하고 있는지 이해하지 못합니다. 당신은''를 할 수 있습니다, 왜 당신이 묻고있는 것이 아닙니까? –

+0

안녕하세요, @DaveNewton, 를 사용해야한다는 데는 의심의 여지가 없습니다. 그러나, 나는 단지 컴포넌트의 인스턴스를 생성 한 다음 렌더링하는 경우, 무엇을 할 것인지 알고 싶었습니다. 나는 정확히 인스턴스 생성이 일어나는 곳을 알고 싶었다. 결국 모든 구성 요소는 단지 클래스입니다. 인스턴스를 명시 적으로 만들 수있는 방법이 있습니다. – nitte93user3232918

+0

이것은 클래스 일 뿐이므로 원할 때마다 인스턴스를 만들 수 있습니다. –

답변

0

글쎄, 당신은 구성 요소를 렌더링하는 React.createElement 방법을 사용할 수 있습니다 :

React.createElement(Component, params) 

하지만 JSX와

, 이것은 동일합니다 :

<Component /> 

이 반작용 문서에 Multiple components를 참조하십시오.

0

이것은 React를 사용하는 방법이 아닙니다. 객체 인스턴스화를 처리 할 필요가 없습니다. 반응은 당신을 위해 이것을하십시오. 대신 컴포지션을 사용하십시오. 당신이 상위 구성 요소에서 하위 구성 요소의 상태를 설정하려면

render() { 
    return (
    <myComponent /> 
) 
} 

또한, 당신은 아마 부모의 논리를 이동해야합니다.

+0

이 모든 인스턴스화는 우리가 그 컴포넌트를 사용할 때마다 암묵적으로 반응합니다. – nitte93user3232918

+0

예. 이것을 읽으면 React [https://facebook.github.io/react/blog/2015/12/18/react-components-elements-and-instances.html](https://facebook)에 대해 더 잘 이해할 수 있습니다. .github.io/react/blog/2015/12/18/react-components-elements-and-instances.html) –

관련 문제