这是一个非常简单的问题,但我无法确定什么是最干净的,也无法让它发挥作用。我在reactJS类中有这个JSX-part,并希望通过prop-value动态设置位置。我应该将哪个标记属性添加到以下代码段?我看过风格的例子,尝试过左右设置,没有任何成功。
感谢任何帮助。
<img onClick={this.handleKeyPress} src="/image/1" alt="HTML5" width="200" height="200" />
答案 0 :(得分:4)
JSX是一种预处理器语法,它实质上会创建一堆React.createElement
函数调用,并将正确的元素/组件传递给不同的调用。因此,不要为要创建的每个容器/组件/标记执行React.createElement('div', props, children)
。好处是你可以返回易于阅读和理解的组件标记,但比大量的嵌套函数调用更加熟悉和易于编写。
但是,常规HTML和JSX之间存在一些关键差异。他们中的大多数源于与JavaScript保留字冲突的冲突:
for
相对){{}}
marginLeft
,paddingRight
等等因此,考虑到这一点,您的图像组件可能如下所示:
<img onClick={this.handleKeyPress}
src="/image/1"
alt="HTML5"
style={{width: 200, height: 200, position: 'absolute', top: this.props.top, left: this.props.left}}/>
另见:
答案 1 :(得分:1)
确保在样式上使用双花括号或使用类:
<img onClick={this.handleKeyPress} src="/image/1" alt="HTML5" style={{width:"200", height:"200"}} />
<img onClick={this.handleKeyPress} src="/image/1" alt="HTML5" className="foo" />
答案 2 :(得分:0)
在JSX ES6中,需要先导入图像,然后才能在组件中使用图像,或者在 require 中使用 src 标记并在大括号。 您可以通过在样式标签后加上双花括号来设置图片属性。不需要使用双引号或单引号。
您的图像组件可能看起来像这样:
<img onClick={this.handleKeyPress} src={require("/image/1")} style={{ width: 200, height: 200 }} />
您还可以使用props或state值在样式标签之间定义图像属性。在使用此功能之前,请不要忘记设置状态值。您可以直接通过道具或函数设置状态值。
看起来像这样(通过状态值使用):
<img onClick={this.handleKeyPress} src={require("/image/1")} style={{ width: this.state.width, height: this.state.height }} />
或 看起来像这样(直接通过道具):
<img onClick={this.handleKeyPress} src={require("/image/1")} style={{ width: this.props.width, height: this.props.height }} />