【发布时间】:2017-11-14 18:18:38
【问题描述】:
我是 React.js 的初学者,并试图通过多条记录理解道具和状态的概念。
我有两个组件 -
- UserData.jsx
- UserDataResult.jsx
在 UserData.jsx 中,我将 this.state 用于用户记录。这条记录我想通过子组件 UserDataResult.jsx 展示出来。
不知道我做错了什么,所以我在控制台日志中收到错误。
错误是:未捕获 RangeError:超出最大调用堆栈大小
代码:
** UserData.jsx **
import React from "react";
import UserDataResult from "./UserDataResult.jsx";
class UserData extends React.Component{
constructor (props){
super(props);
this.state = {
users : [
{
id : 1,
name : "Jack",
age : 32,
location : "USA",
skill : "Drummer",
},
{
id : 2,
name : "Andrew",
age : 35,
location : "USA",
skill : "Guitar player",
},
]
};
}
render(){
return(
<section>
<h6> Headline </h6>
<hr />
<div>
{
this.state.users.map( (contact) => {
return <UserDataResult contact={contact} />
} )
}
</div>
</section>
);
}
}
export default UserData;
** UserDataResult.jsx **
import React from "react";
class UserDataResult extends React.Component{
render(){
return(
<section>
<div>
<p>
{this.props.contact.id}
{this.props.contact.name}
{this.props.contact.age}
{this.props.contact.location}
{this.props.contact.skill}
</p>
</div>
</section>
);
}
}
export default UserDataResult;
【问题讨论】:
标签: reactjs