Javascript REACT JS:映射要在JSX中渲染的对象数组
我是新手,问题是我需要在这段代码中显示数据库中的所有字段。我已经能够在浏览器控制台中以对象的形式获取所有数据,并且能够在浏览器中查看阵列中的最后一段数据,但无法查看它们。请原谅我在代码中的错误格式,因为我是新手。提前谢谢 输出和代码 浏览器视图: 玩具之地公司是名字131是ID JSON数据:Javascript REACT JS:映射要在JSX中渲染的对象数组,javascript,php,jquery,json,reactjs,Javascript,Php,Jquery,Json,Reactjs,我是新手,问题是我需要在这段代码中显示数据库中的所有字段。我已经能够在浏览器控制台中以对象的形式获取所有数据,并且能够在浏览器中查看阵列中的最后一段数据,但无法查看它们。请原谅我在代码中的错误格式,因为我是新手。提前谢谢 输出和代码 浏览器视图: 玩具之地公司是名字131是ID JSON数据: {"posts":[ {"id":"103","name":"Atelier graphique"}, {"id":"112","name":"Signal Gift Stores"}, {"
{"posts":[
{"id":"103","name":"Atelier graphique"},
{"id":"112","name":"Signal Gift Stores"},
{"id":"114","name":"Australian Collectors, Co."},
{"id":"119","name":"La Rochelle Gifts"},
{"id":"121","name":"Baane Mini Imports"},
{"id":"124","name":"Mini Gifts Distributors Ltd."},
{"id":"125","name":"Havel & Zbyszek Co"},
{"id":"128","name":"Blauer See Auto, Co."},
{"id":"129","name":"Mini Wheels Co."},
{"id":"131","name":"Land of Toys Inc."}
]}
这些数据是通过一个PHP代码获得的,该代码是以JS代码中给出的url形式编写的插件
我的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>React Tutorial</title>
<!-- Not present in the tutorial. Just for basic styling. -->
<link rel="stylesheet" href="css/base.css" />
<script src="https://npmcdn.com/react@15.3.0/dist/react.js"></script>
<script src="https://npmcdn.com/react-dom@15.3.0/dist/react-dom.js"></script>
<script src="https://npmcdn.com/babel-core@5.8.38/browser.min.js"></script>
<script src="https://npmcdn.com/jquery@3.1.0/dist/jquery.min.js"></script>
<script src="https://npmcdn.com/remarkable@1.6.2/dist/remarkable.min.js"></script>
</head>
<body>
<div id="content"></div>
<script type="text/babel">
var UserGist = React.createClass({
getInitialState: function() {
return {
username:[],
companyID:[]
};
},
componentDidMount: function()
{
var rows = [];
this.serverRequest = $.get(this.props.source, function (result) {
for (var i=0; i < 10; i++)
{
var lastGist = result.posts[i];
//console.log(result.posts[i]);
this.setState({
username: lastGist.id,
companyID: lastGist.name
});
}
}.bind(this));
},
componentWillUnmount: function() {
this.serverRequest.abort();
},
render: function() {
return (
<li>{this.state.companyID} is the name {this.state.username} is the ID</li>
);
}
});
ReactDOM.render(
<UserGist source="http://localhost/Akshay/REACT/testDataAPI.php?user=2&num=10&format=json" />,
document.getElementById('content')
);
</script>
</body>
</html>
反应教程
var UserGist=React.createClass({
getInitialState:函数(){
返回{
用户名:[],
公司ID:[]
};
},
componentDidMount:function()
{
var行=[];
this.serverRequest=$.get(this.props.source,函数(result){
对于(变量i=0;i<10;i++)
{
var lastGist=结果.帖子[i];
//console.log(result.posts[i]);
这是我的国家({
用户名:lastGist.id,
companyID:lastGist.name
});
}
}.约束(这个);
},
componentWillUnmount:function(){
这是.serverRequest.abort();
},
render:function(){
返回(
{this.state.companyID}是名称{this.state.username}是ID
);
}
});
ReactDOM.render(
,
document.getElementById('content')
);
使用贴图渲染数据。并将json作为javascript对象存储在状态本身中,而不是存储在两个单独的数组中
<!-- Not present in the tutorial. Just for basic styling. -->
<link rel="stylesheet" href="css/base.css" />
<script src="https://npmcdn.com/react@15.3.0/dist/react.js"></script>
<script src="https://npmcdn.com/react-dom@15.3.0/dist/react-dom.js"></script>
<script src="https://npmcdn.com/babel-core@5.8.38/browser.min.js"></script>
<script src="https://npmcdn.com/jquery@3.1.0/dist/jquery.min.js"></script>
<script src="https://npmcdn.com/remarkable@1.6.2/dist/remarkable.min.js"></script>
<div id="content"></div>
<script type="text/babel">
var UserGist = React.createClass({
getInitialState: function() {
return {
data: [{"id":"103","name":"Atelier graphique"},
{"id":"112","name":"Signal Gift Stores"},
{"id":"114","name":"Australian Collectors, Co."},
{"id":"119","name":"La Rochelle Gifts"},
{"id":"121","name":"Baane Mini Imports"},
{"id":"124","name":"Mini Gifts Distributors Ltd."},
{"id":"125","name":"Havel & Zbyszek Co"},
{"id":"128","name":"Blauer See Auto, Co."},
{"id":"129","name":"Mini Wheels Co."},
{"id":"131","name":"Land of Toys Inc."}]
};
},
componentDidMount: function()
{
},
componentWillUnmount: function() {
this.serverRequest.abort();
},
render: function() {
return (
<div>
{this.state.data.map(function(item, index){
return <li>{item.name} is the company name, {item.id} is the ID</li>
})}</div>
);
}
});
ReactDOM.render(
<UserGist source="http://localhost/Akshay/REACT/testDataAPI.php?user=2&num=10&format=json" />,
document.getElementById('content')
);
</script>
</html>
var UserGist=React.createClass({
getInitialState:函数(){
返回{
数据:[{“id”:“103”,“name”:“Atelier graphique”},
{“id”:“112”,“名称”:“信号礼品店”},
{“id”:“114”,“名称”:“澳大利亚收藏家公司”},
{“id”:“119”,“姓名”:“La Rochelle礼品”},
{“id”:“121”,“名称”:“Baane Mini Imports”},
{“id”:“124”,“名称”:“迷你礼品分销商有限公司”},
{“id”:“125”,“姓名”:“Havel&Zbyszek公司”},
{“id”:“128”,“name”:“Blauer See Auto,Co.”},
{“id”:“129”,“名称”:“迷你车轮公司”},
{“id”:“131”,“名称”:“玩具之地公司”}]
};
},
componentDidMount:function()
{
},
componentWillUnmount:function(){
这是.serverRequest.abort();
},
render:function(){
返回(
{this.state.data.map(函数(项,索引){
return{item.name}是公司名称,{item.id}是id
})}
);
}
});
ReactDOM.render(
,
document.getElementById('content')
);
对于小提琴示例,我已经删除了componentDidMount
中的$.get()
代码
另外,创建状态数组数据作为对象数组,如
小提琴示例
我想这对你会有帮助的
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>React Tutorial</title>
<!-- Not present in the tutorial. Just for basic styling. -->
<link rel="stylesheet" href="css/base.css" />
<script src="https://npmcdn.com/react@15.3.0/dist/react.js"></script>
<script src="https://npmcdn.com/react-dom@15.3.0/dist/react-dom.js"></script>
<script src="https://npmcdn.com/babel-core@5.8.38/browser.min.js"></script>
<script src="https://npmcdn.com/jquery@3.1.0/dist/jquery.min.js"></script>
<script src="https://npmcdn.com/remarkable@1.6.2/dist/remarkable.min.js"></script>
</head>
<body>
<div id="content"></div>
<script type="text/babel">
var UserGist = React.createClass({
getInitialState: function() {
return {
username:[],
companyID:[]
};
},
componentDidMount: function()
{
var rows = [];
this.serverRequest = $.get(this.props.source, function (result) {
var username = [];
var companyID = [];
for (var i=0; i < 10; i++)
{
var lastGist = result.posts[i];
//console.log(result.posts[i]);
username.push(lastGist.id);
companyID.push(lastGist.name);
}
this.setState({
username: username,
companyID: companyID,
});
}.bind(this));
},
componentWillUnmount: function() {
this.serverRequest.abort();
},
render: function() {
return (
<div>
{this.state.companyID.map(function(item, index){
return <li>{item} is the company name, {this.state.username[index]} is the ID</li>
})}</div>
);
}
});
ReactDOM.render(
<UserGist source="http://localhost/Akshay/REACT/testDataAPI.php?user=2&num=10&format=json" />,
document.getElementById('content')
);
</script>
</body>
</html>
反应教程
var UserGist=React.createClass({
getInitialState:函数(){
返回{
用户名:[],
公司ID:[]
};
},
componentDidMount:function()
{
var行=[];
this.serverRequest=$.get(this.props.source,函数(result){
var用户名=[];
var companyID=[];
对于(变量i=0;i<10;i++)
{
var lastGist=结果.帖子[i];
//console.log(result.posts[i]);
用户名.push(lastGist.id);
companyID.push(lastGist.name);
}
这是我的国家({
用户名:用户名,
companyID:companyID,
});
}.约束(这个);
},
componentWillUnmount:function(){
这是.serverRequest.abort();
},
render:function(){
返回(
{this.state.companyID.map(函数(项,索引){
return{item}是公司名称,{this.state.username[index]}是ID
})}
);
}
});
ReactDOM.render(
,
document.getElementById('content')
);
我试图使用map渲染它,但它创建了一个错误,说它未定义,这将检查出您的解决方案并返回给您,感谢您的帮助help@AkshayVenugopal给出undefinedIt的方法是可行的,但我需要像API一样使用它,所以我应该如何继续在代码中给出JSON数据,我需要从batabase使用它与phpmyadminAlso类似,会弹出一条警告:“警告:数组或迭代器中的每个子级都应该有一个唯一的“键”属性。请检查UserGist中UserGist
.in li(由UserGist创建)的呈现方法”类型错误:这是未定义的singleList()render()browser.min.js%20line%203%20%3E%20函数:52[36]你能描述一下这个错误吗??行号:???这样我就可以看一看,而不是看一看。我已经编辑过了。希望它能起作用。