使用om(/ react)显示隐藏的div

时间:2016-05-12 04:33:23

标签: css reactive-programming clojurescript om

使用Om,我设置了一个我想在用户按下按钮时显示的组件。效果应该是div 从右侧滑入。在Om项目中构建这个的最佳方法是什么?

我不能做像哈克一样的事情:

(let [the-div (. js/document (.getElementById "the-div"))]
    (.setAttribute dashboard "width" "500px"))

因为我认为在阴影dom中设置组件,我收到错误:Cannot read property 'style' of null

有人能指出我朝着实现这种效果的正确方向发展吗?程序结构或任何提示将不胜感激。

1 个答案:

答案 0 :(得分:1)

简短的回答是指定组件中的宽度作为状态的函数,并更改状态。

std::shared_ptr

或者只是有条件地渲染它,或者使用类等。

谈到动画,让它幻灯片,事情有点棘手...... 您可以使用CSSTransitionGroup Creating animations with Clojurescript Om

就个人而言,我发现CSSTransitionGroups过于繁琐,并且更喜欢更直接的声明式方法 http://timothypratley.github.io/reanimated/#!/timothypratley.reanimated.examples 复活的基础非常简单,可以为om重新创建...它会将每个渲染的状态更新为目标,然后停止。