Учитывая действительно простой компонент приращения в чем-то вроде React:
class Increment extends React.Component {
constructor(props){
super(props)
this.state = {
value: props.value
}
}
componentDidMount() {
setInterval(() => {
this.setState(({ value }) => ({ value: value + 1 }))
}, 1000);
}
render(){
return (
<p>{ this.state.value }</p>
);
}
}
ReactDOM.render(<Increment value={0} />, document.getElementById('root'))
Как это переводится на галоген Purescript?Просматривая различные вещи в Интернете, я еще не нашел ни одного примера, который мог бы создать собственный прототип.Мне известно о Effect.Time
, который выставляет setInterval
, но как бы я использовал это, чтобы вызвать что-то, что позволило бы мне обновить состояние (в контролируемом действии, через handleAction
).
Япытаясь переместить приложение из Elm и обратно в галоген, и в этом приложении оно использует функцию subscriptions
для ключевой функциональности, чтобы обновить состояние приложения, которое не коррелирует с прямым пользовательским вводом.Если у Halogen есть похожая функциональность (я видел subscribe
, хотя, похоже, это относится к связи между родительскими / дочерними компонентами, я, возможно, неправильно понял это ...), было бы хорошо, чтобы на нее указывали.