by Javi Perez
12/2015
Javascript library for building user interfaces
show me some code
class MyComponent extends React.Component {
render () {
return <p />;
}
}ReactDOM.render(
<MyComponent />,
document.getElementById('MyComponent')
);Bind a DOM element with the component
class Avatar extends React.Component {
render () {
return (
<div className="avatar" onClick={this.props.onClick}>
<img src={this.props.avatar} alt="avatar" />
<span>{this.props.username}</span>
</div>
);
}
}
Avatar.propTypes = {
avatar: React.PropTypes.string.isRequired,
username: React.PropTypes.string.isRequired,
onClick: React.PropTypes.func
};
Avatar.defaultProps = {
onClick: () => {}
};var props = {
avatar: "//avatar.com/defaultAvatar.png",
username: "javi",
onClick: () => {
console.log("the avatar has been clicked");
}
}
ReactDOM.render(<Avatar {...props}/>, document.getElementById("MyComponent"));Bind the component
<div className="avatar">
<img src="//avatar.com/defaultAvatar.png" alt="avatar" />
<span>javi</span>
</div>It will render
var props = {
avatar: "//avatar.com/defaultAvatar.png",
username: "javi",
onClick: () => {
console.log("the avatar has been clicked");
}
}
ReactDOM.render(<Avatar {...props}/>, document.getElementById("MyComponent"));
Avatar.setProps({
username: "belu"
});How to update the properties
<div className="avatar">
<img src="//avatar.com/defaultAvatar.png" alt="avatar" />
<span>belu</span>
</div>After set the new username It will render