Skip to content

Instantly share code, notes, and snippets.

class Quiz extends Component {
componentWillMount() {
axios.get('/thedata').then(res => {
this.setState({items: res.data});
});
}
render() {
return (
<ul>
@moonformeli
moonformeli / cpntWillMount_2.js
Created May 18, 2017 05:10
ComponentWillMount example 2
class Quiz extends Component {
// Added this:
constructor(props) {
super(props);
// Assign state itself, and a default value for items
this.state = {
items: []
};
}
@moonformeli
moonformeli / render_with_empty_defaultValues.js
Created May 18, 2017 05:14
render_with_empty_defaultValues.js
render() {
return (
<ul>
{this.state && this.state.items && this.state.items.map(item =>
<li key={item.id}>{item.name}</li>
)}
</ul>
);
}
@moonformeli
moonformeli / quiz_item_empty.js
Created May 18, 2017 05:31
quiz_item_empty.js
class Quiz extends React.Component {
constructor(props) {
super(props);
// Initialized, but not enough
this.state = {};
}
componentWillMount() {
// Get the data "soon"
@moonformeli
moonformeli / defaultProps_itemlist.js
Created May 18, 2017 05:35
defaultProps_itemlist.js
function ItemList({ items }) {
return (
// same as above
);
}
ItemList.propTypes = {
items: React.PropTypes.array.isRequired
};
@moonformeli
moonformeli / defaultProps_MyComponent.js
Created May 18, 2017 05:48
defaultProps_MyComponent.js
class MyComponent extends React.Component {
render() {
// ...
}
}
MyComponent.defaultProps = {
items: []
};
@moonformeli
moonformeli / es7_defaultProps.js
Created May 18, 2017 05:50
es7_defaultProps.js
class MyComponent extends React.Component {
static defaultProps = {
items: []
}
render() {
// ...
}
}
@moonformeli
moonformeli / es6_defaultProps.js
Created May 18, 2017 05:53
es6_defaultProps.js
class MyComponent extends React.Component {
render() {
const { items = [] } = this.props;
return (
<ItemList items={items}/>
);
}
}
const { items = [] } = this.props;
@moonformeli
moonformeli / functional_default.js
Created May 18, 2017 06:00
functional_default.js
function ItemList({ items = []}) {
return (
// Use items here. It'll default to an empty array.
);
}