reactjs传递多个元素
reactjs pass multiple elements
我在玩reactjs和svg。我正在尝试将多个元素状态从应用程序传递到Circle。有没有一种方法可以一次性通过,而不是
<Circle h={this.state.h} w={this.state.w} and so on />
请参阅以下代码:
class Circle extends React.Component {
render() {
return (
<svg height="100" width="100">
<circle cx="50" cy="50" r="40"
stroke="black" stroke-width="3" fill="red"
/>
</svg>
)
}
}
class App extends React.Component {
constructor(props) {
super(props)
this.state = {
h: 100,
w: 100,
cx: 50,
cy: 50,
r: 40,
stroke: "black",
fill: "red"
}
}
render() {
return (
<div>
<Circle />
</div>
)
}
}
ReactDOM.render(<App />, document.getElementById('app'))
使用ES6排列运算符:
render() {
return (
<div>
<Circle {...this.state} />
</div>
)
}
然后在圆圈中:
class Circle extends React.Component {
render() {
const { h, x, y, w, r, stroke, fill } = this.props;
return (
<svg height={h} width={w}>
<circle cx={x} cy={y} r={r}
stroke={stroke} stroke-width="3" fill={fill}
/>
</svg>
)
}
}
当然是
const props = {
w: this.state.w,
h: this.state.h,
...
}
<Circle {...props} />
// or pass content of `state`
<Circle {...this.state} />
您可以!对对象使用ES2015排列运算符。(更多关于JSX这里)
您使用的代码看起来像:
class Circle extends React.Component {
constructor (props) {
super(props)
console.log(this.props)
}
render() {
return (
<svg height="100" width="100">
<circle cx="50" cy="50" r="40"
stroke="black" stroke-width="3" fill="red"
/>
</svg>
)
}
}
class App extends React.Component {
constructor() {
super()
this.state = {
h: 100,
w: 100,
cx: 50,
cy: 50,
r: 40,
stroke: "black",
fill: "red"
}
}
render() {
return (
<div>
<Circle {...this.state}/>
</div>
)
}
}
ReactDOM.render(<App />, document.getElementById('app'))
相关文章:
- ReactJS:onClick更改元素
- ReactJS - 元素类型无效错误
- ReactJS-目标随机元素
- 正在从ReactJS数组中删除Stateful元素
- reactjs传递多个元素
- ReactJS的dropzone元素无效
- ReactJS:仅当数组有值时才呈现元素
- 我可以在 ReactJS 中排除原始元素的子元素吗?
- Reactjs :使用输入元素时的不变冲突
- 触发 ReactJS 元素的 onClick 事件
- 使用 ReactJs 从元素访问输入值
- 在 ReactJs 中的文本区域元素内创建一个编号列表
- ReactJS 开关大小写错误 相邻的 JSX 元素必须包装在封闭标记中
- 在输入元素(Reactjs)中侦听的多事件
- 如果在映射函数中 reactjs 元素的内部循环
- ReactJS - 获取元素的高度
- 纯渲染元素渲染,没有更改 ReactJS
- ReactJS中计数器增加的显示元素
- ReactJS-将溢出的元素放入一个“"下拉按钮
- 如何'重置'ReactJS元素