2015-08-21 10 views
0

Я следую за учебником, но я застрял. Я пытаюсь изменить состояние элемента в консоли. но когда я напечатаю этоБраузер говорит, что «reactComponent не определен» в консоли

reactComponent.setState({ 
    isVisible:false 
}) 

Я получаю эту ошибку от хрома.

Uncaught ReferenceError: reactComponent is not defined 
    at <anonymous>:2:1 
    at Object.InjectedScript._evaluateOn (<anonymous>:895:140) 
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34) 
    at Object.InjectedScript.evaluate (<anonymous>:694:21) 

Вот мой Html и JSX

<div id="app"></div> 

    <script src="js/react-0.11.1.js"></script> 
    <script src="js/JSXTransformer-0.11.1.js"></script> 
    <script type="text/jsx"> 
     /**@jsx React.DOM*/ 

     //Main Element with JSX 
     var MessageBoxJSX = React.createClass({ 
      getInitialState: function(){ 
       return { 
        isVisible: true, 
        titleMessage: 'Hello, World' 
       } 
      }, 

      render: function() { 

       var inlineStyles = { 
        display: this.state.isVisible ? 'block' : 'none' 

       }; 

       return (
        <div className = "container" style={inlineStyles}> 
         <h1>{this.state.titleMessage}</h1> 
        </div> 
       ) 
      } 
     }) 

     //Render JSX component 
     React.renderComponent(
      <MessageBoxJSX/>, 
      document.getElementById('app') 
     ) 
    </script> 

Я работаю с более старой версией реагировать, но это то, что учебник использует так я после него, чтобы понять реакцию.

Мой вопрос в том, как заставить браузер менять состояние, не выбрасывая эту ошибку?

+0

Может быть, вы должны попробовать новая библиотека React сначала 0.13.3 или 0.14 beta –

+1

, это правильно, потому что 'reactComponent' не определен. попробуйте сделать: 'this.setState ({})' вместо – knowbody

ответ

0

Вам не нужно передать имя компонента, как вы делаете в reactComponent.setState({ isVisible:false })

Вместо этого вы передаете ссылку на этот компонент с помощью this:

this.setState({ isVisible: false });

+0

Так извините за поздний ответ. Но я попробовал то, что вы предлагали, и все еще имел ту же ошибку. –

+0

Я пробовал, но это не сработало. Однако я смог изменить состояние isVisible на вкладке «React», появившейся в инструментах chrome dev рядом со вкладкой «console» после установки React [Devtools] (http://fb.me/react-devtools) –

Смежные вопросы