2016-10-01 29 views
0

我正在採取反應。但是我經常不知道錯誤是什麼。下面的代碼沒有正確渲染,並在jsbin的控制檯中顯示沒有錯誤。切換複選框使用反應失敗

const App = React.createClass ({ 
    getInitialState() { 
    return {checked: false} 
    }, 
    handleCheck() { 
    this.setState({checked: !this.state.checked}) 
    }, 
    render() { 
     return(
    <div> 
    <input type="checkbox" onChange={this.handleCheck} /> 
    <p>This box is {this.state.checked}</p> 
    </div> 
    ) 


    } 
}) 

ReactDOM.render(<App />,document.getElementById('app-container')); 

https://jsbin.com/dehafizaba/1/edit 需要提醒。

+0

您的jsbin包含與您的代碼不同的代碼。 –

回答

0

它「正常工作」。問題是React沒有顯示布爾值的字符串表示。如果輸出別的東西的作品,例如:

<p>This box is {this.state.checked ? 'checked' : 'unchecked'}</p> 
+0

我期望從'{this.state.checked}'中得到真實和錯誤,就像在角度上一樣,但是反應不會顯示任何東西? –

+0

我認爲表達式必須返回可呈現的東西,即元素,字符串或數字。一個布爾值是可爭論的,而不是通常呈現的東西。你可以顯式地將值轉換爲一個字符串:'{String(this.state.checked)}'。 –