# Handling User Input Since Pillar components' architecture is virtually the same as React's, you can handle interactions in the similar way: ```jsx class SuperInput extends Pillar { handleChange(e) { this.setState({ email: e.target.value, }); } render() { return ; } } ``` However, because Pillar is using [Preact](https://github.com/developit/preact) under the hood, you get a convenient `linkState` method on a component which you can use like so: _**Note:** the example above uses `.bind(this)` for demonstration purposes, but it's not a recommended way. Use [autobind-decorator](https://github.com/andreypopp/autobind-decorator) or [decko](https://github.com/developit/decko) in real code._ ```jsx class SuperInput extends Pillar { render() { return ; } } ``` Optionally, you can provide a second 'path' argument to explicitly provide a dot-notated path to the new state value for more custom bindings.