# Component Components are the reusable, composable widgets. They are designed to be low level, to be declarative, and with asynchronous rendering. For example: ```javascript export class Counter extends Component { inlineTemplate = `
Value:
`; state = { counter: 0 }; constructor(parent, props) { super(parent, props); this.state.counter = props.initialState || 0; } increment(delta) { this.updateState({ counter: this.state.counter + delta }); } } ```