【发布时间】:2017-07-30 15:56:00
【问题描述】:
我有以下静态视图:
import React from 'react';
export default class Champ extends React.Component {
render() {
return (
<div>
<img src={this.props.champ.file} />
<p>Name: {this.props.champ.name } </p>
<p>Role: { this.props.champ.role } </p>
<p>Difficulty: { this.props.champ.diff } </p>
<p>Price: { this.props.champ.price } </p>
</div>
)
}
}
我想更改它,以便在加载页面时只有图像可见,并且当它们悬停在信息上时会淡入。
我想通过让所有包含信息的<p> 标签在页面打开时默认隐藏并使用状态来做到这一点。
我想我可以做一些事情,比如把它们变成一个常量
const x = <p>Name: {this.props.champ.name } </p>
<p>Role: { this.props.champ.role } </p>
<p>Difficulty: { this.props.champ.diff } </p>
<p>Price: { this.props.champ.price } </p>
this.state = { x.style.visibilty = 'hidden'};
}
但我实际上不确定如何执行此操作。我现在才学习状态,以前从未使用过隐藏。谢谢。
【问题讨论】:
-
State 应该写成这样
this.state = { visible: true },如果this.state.visible === true,只需创建一个渲染所有p标签的函数 -
@Raymond 的建议应该可以正常工作
标签: javascript css reactjs ecmascript-6