2016-10-01 23 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)}'。 –