##Exercise 2: Create a simple Toggle component
- Save
HelloWorld.jsasToggle.jsin the same directory. Rename the class toToggleand clear thediv.
// app/components/Toggle.js
export default class Toggle extends Component {
render() {
return (
<div></div>
)
}
}- Declare a
enabledproperty for theTogglecomponent. Make sure to importPropTypesat the top of the file.
Note: For more PropTypes: https://facebook.github.io/react/docs/reusable-components.html
// app/components/Toggle.js
import React, { Component, PropTypes } from 'react'
export default class Toggle extends Component {
static propTypes = {
enabled: PropTypes.bool
};
render() {
return (
<div></div>
)
}
}- Below
propTypes, set the default forenabledtofalse.
// app/components/Toggle.js
export default class Toggle extends Component {
// ...
static defaultProps = {
enabled: false
};
// ...
}- Use the
enabledproperty to set the text ofToggle. You should end up with:
// app/components/Toggle.js
export default class Toggle extends Component {
static propTypes = {
enabled: PropTypes.bool
};
static defaultProps = {
enabled: false
};
render() {
return (
<div>{this.props.enabled ? 'ON' : 'OFF'}</div>
)
}
}- Replace
HelloWorldforToggleinapp/main.js. You should see "OFF" in the webpage.
// app/main.js
import { render } from 'react-dom'
import Toggle from './components/Toggle'
// ...
render(<Toggle />, document.getElementById('app'))- Setting the
enabledproperty totrueon theTogglecomponent will render "ON".
render(<Toggle enabled={true} />, document.getElementById('app'))###[Next Step: Add properties to customize `Toggle` values →](./exercise-3.md)