ReactJS:切换css转换的类

时间:2014-11-13 13:48:51

标签: javascript css reactjs

我需要在完全呈现组件(甚至页面)之后切换css类,以便在页面加载时为相关属性设置动画。

如何进行此操作,最好不使用jQuery?

如果我在componentDidMount中切换组件的类,则动画实际上不会发生。

2 个答案:

答案 0 :(得分:15)

我实际上没有得到你说的部分:

  

在组件(甚至页面)完全呈现之后,这样做   相关属性在页面加载时设置动画。

什么时候想要为元素设置动画?如果在render()函数中指定类名,则组件将在页面加载时使用动画进行渲染。

如果要在首次渲染后控制/切换动画,可以使用组件状态控制类名,如下所示:

var Hello = React.createClass({

    getInitialState: function(){
        return {
            condition:false
        }
    },

    handleClick :function(){
        this.setState( { condition : !this.state.condition } );
    },

    render: function() {
        return <div>
                <div className={this.state.condition ? "animated" :""}  >Hello {this.props.name}</div>
                <button type="button" onClick={this.handleClick}>Change Condition</button>

               </div>;
    }
});

React.render(<Hello name="World" />, document.body);

这里我改变了状态以响应按钮点击。您可能希望将此更改为您喜欢的其他事件。

以上是代码的小提琴:http://jsfiddle.net/f0j4kt0L/

答案 1 :(得分:1)

您也可以使用切换类来完成。

<table>
    <tr class="heading">
        <td width="20%">Image</td>
        <td width="20%">Name</td>
        <td width="10%">Price</td>
        <td width="15%">Category</td>
        <td width="35%">Description</td>
    </tr>
    <!-- display data here -->
    <tbody id="tableBody"></tbody>
</table>