gpt4 book ai didi

elm - Elm 中智能和dumb组件的想法

转载 作者:行者123 更新时间:2023-12-04 18:03:45 24 4
gpt4 key购买 nike

我喜欢 React/Redux 的智能和哑组件概念,其中哑组件不处理自己的状态(Dump 组件对外界一无所知,它所做的只是根据其输入触发事件并显示值) .这是微不足道的,因为所有状态都在一个地方处理(主 reducer )。

在 Elm 中,每个组件都有自己的“更新”功能(类似于 Redux 的 reducer ),因此使用相同的(哑和智能组件模式)似乎并不简单。

在 Elm 中使用智能和转储组件是一个好习惯吗?如果是这样,我会有没有“更新”方法的组件吗?我想知道如何将数据( Prop )传递给我的组件以及如何将事件触发到父组件。

我很想听听你的想法。

最佳答案

Elm 相当于一个“哑组件”(又名 Presentational, Pure, Skinny 组件)只是一个产生 Html 的函数。 :

view : ... -> Html

elm-html库是以这种风格编写的,例如,
button : List Attribute -> List Html -> Html

您可以通过在调用函数时提供属性来设置“ Prop ”。特别是,您可以通过在 List Attribute 中提供处理程序来注册事件。 :
button
[ onClick addr ClickAction ] -- event handler
[ text "Click me" ] -- child "components"

您也会在其他库中看到这种模式,尽管确切的类型可能与 List Attribute 不同。和 List Html .

关于elm - Elm 中智能和dumb组件的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36815672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com