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 の Halogen にどのように変換されますか? オンラインでさまざまなことを調べてみましたが、自分のプロトタイプに取り込める例をまだ見つけていません。どのエクスポージャーがEffect.Time
を公開setInterval
しているかはわかっていますが、これを使用して状態を更新できる何かをトリガーするにはどうすればよいでしょうか (制御されたアクションで、 を介してhandleAction
)。
アプリケーションを Elm から Halogen に移動しようとしていますが、そのアプリケーションではsubscriptions
、直接のユーザー入力と相関しないアプリケーションの状態を更新するために、機能の重要な部分を関数に依存しています。Halogen に同様の機能がある場合 (subscribe
親コンポーネントと子コンポーネント間の通信に関連しているように見えますが、見たことがありますが、これを誤解している可能性があります...)、それを指摘するのは良いことです。