2

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親コンポーネントと子コンポーネント間の通信に関連しているように見えますが、見たことがありますが、これを誤解している可能性があります...)、それを指摘するのは良いことです。

4

1 に答える 1