ts-react-struct
v1.0.0
Published
[](https://badge.fury.io/js/ts-react-struct) [](https://npmjs.org/package/ts-react-struct) [ => {
this.props.valueRef.val(event.target.value,event)
}
render() {
let props: Props = Object.assign({}, this.props)
delete props.valueRef
return <input {...props} value={this.props.valueRef.deref()} onChange={this.onChange} />
}
}
let data = Struct({
value: 'ahoy',
})
function render() {
return ReactDom.render(<Input valueRef={data.get('value')} />, document.getElementById('content'))
}
render()
data.observe((event, oldVal, newVal) => {
render()
})Now, the state is always in sync with the DOM:
data.get('value').deref()
// => "ahoy"
data.get('value').val('hola')
// => Input gets rerendered as <input value="hola" />
// <= user types "hey" into input field
data.get('value').deref() // => "hey"