我试图了解当您创建一个像这样的 elmish/fable 项目时生成的第一个项目dotnet new fable-react-elmish
:
let view (model: Model) dispatch =
let resultView =
match model.downloaded with
| Ok r ->
h3 [ Style [CSSProp.Color "blue"] ] [ str r ]
| Error er ->
h3 [ Style [CSSProp.Color "red"] ] [ str er ]
div [] [
h1 [] [ str "React Elmish demo" ]
button [ OnClick (fun _ -> dispatch OnDownloadClicked) ] [ str "Download" ]
button [ OnClick (fun _ -> dispatch ResetClicked) ] [ str "Reset" ]
div [] [ h2 [] [ str "Download result:" ]; resultView ]
]
我知道每次调用一个函数OnDownloadClicked
或时ResetClick
,都会显示一个<h3>
HTML 控件作为 HTML 页面的最后一个控件,覆盖旧的控件。(可能整个页面都重新加载了,但我不确定)
但是我将如何修改上面的示例以便在<h3>
每次OnDownloadClicked
调用函数时将新元素添加到视图中?换句话说:我希望所有以前显示<h3>
的元素都保留在视图中。欢迎任何提示(以及指向示例的提示)。