Javascript 在react.js中填充必要的数据 类TodoApp扩展了React.Component{ 构造函数(){ 超级(); 此.state={ } } 组件willmount(){ 此参数为.getSampleData(); } getSampleData(){ console.log(“输入值”); 这是我的国家({ 样本数据:{ 标签:['1月','2月','3月','4月', “五月”、“六月”、“七月”、“八月”, “九月”、“十月”、“十一月”、“十二月”], 数据集:[ { 标签:“2017年”, 数据:[92,50,33,70,122,22,21,20,22,215,278,190], }, { 标签:“2018年”, 数据:[22101520278260 245221516718174154148], }, ] }} ); ///这里我想从sampleData中获取monthdata 蒙塔塔: //例如,本月221应该来自sampleData console.log('end value'); } render(){ 返回( 待办事项:
蒙塔塔 ) } }Javascript 在react.js中填充必要的数据 类TodoApp扩展了React.Component{ 构造函数(){ 超级(); 此.state={ } } 组件willmount(){ 此参数为.getSampleData(); } getSampleData(){ console.log(“输入值”); 这是我的国家({ 样本数据:{ 标签:['1月','2月','3月','4月', “五月”、“六月”、“七月”、“八月”, “九月”、“十月”、“十一月”、“十二月”], 数据集:[ { 标签:“2017年”, 数据:[92,50,33,70,122,22,21,20,22,215,278,190], }, { 标签:“2018年”, 数据:[22101520278260 245221516718174154148], }, ] }} ); ///这里我想从sampleData中获取monthdata 蒙塔塔: //例如,本月221应该来自sampleData console.log('end value'); } render(){ 返回( 待办事项:,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,蒙塔塔 ) } } 我是React.js新手,但我无法在标签中显示特定月份的数据。虽然我在这里引用了monthData word,但我对引用变量(sampleData)以及从html中获取数据没有足够的了解。从sampleData直接在p标记中生成particualr month值对我来说也很好,不需要使用monthData变量。有人能帮我吗。谢谢。这里我有本月的数据。同样,如果您想要动态的,您可以将其更改为年。请检查以下更新的代码段: class TodoApp extends React.
我是React.js新手,但我无法在标签中显示特定月份的数据。虽然我在这里引用了monthData word,但我对引用变量(sampleData)以及从html中获取数据没有足够的了解。从sampleData直接在p标记中生成particualr month值对我来说也很好,不需要使用monthData变量。有人能帮我吗。谢谢。这里我有本月的数据。同样,如果您想要动态的,您可以将其更改为年。请检查以下更新的代码段:
class TodoApp extends React.Component {
constructor(){
super();
this.state = {
}
}
componentWillMount(){
this.getSampleData();
}
getSampleData(){
console.log('enter value');
this.setState({
sampleData:{
labels: ['Jan', 'Feb', 'Mar', 'Apr',
'May', 'Jun', 'Jul', 'Aug',
'Sep', 'Oct', 'Nov', 'Dec'],
datasets: [
{
label: '2017',
data: [92, 50, 33, 70, 122, 22, 21,20, 22, 215, 278, 190],
},
{
label: '2018',
data: [22, 210, 520, 278, 260, 245, 221,516, 718, 174, 154, 148],
},
]
}} );
/// Here i want to get monthdata that to be taken from sampleData
monthData:
//for example this month 221 should come here,from the sampleData
console.log('end value');
}
render() {
return (
<div>
<h2>Todos:</h2>
<p> monthData</p>
</div>
)
}
}
类TodoApp扩展了React.Component{
构造函数(){
超级();
此.state={
}
}
组件willmount(){
此参数为.getSampleData();
}
getSampleData(){
console.log(“输入值”);
这是我的国家({
样本数据:{
标签:['1月','2月','3月','4月',
“五月”、“六月”、“七月”、“八月”,
“九月”、“十月”、“十一月”、“十二月”],
数据集:[
{
标签:“2017年”,
数据:[92,50,33,70,122,22,21,20,22,215,278,190],
},
{
标签:“2018年”,
数据:[22101520278260 245221516718174154148],
},
]
}} );
///这里我想从sampleData中获取monthdata
蒙塔塔:
//例如,本月221应该来自sampleData
console.log('end value');
}
render(){
const d=新日期();
常量m=d.getMonth();
const monthData=this.state.sampleData.dataset[1].data[m];
返回(
待办事项:
当月数据:{monthData}
)
}
}
此处数据[m]表示当月(6-7月)首先从当年的数据集中过滤数据。您可以使用
new Date().getFullYear()
获取当前年份,使用new Date().getMonth()
获取当前月份。筛选器将返回一个数组
1.this.state.sampleData.datasets.filter((dataset)=>dataset.label==new Date().getFullYear())
此语句将在数据集中为您提供当前年份的筛选器对象
2.filteredArray[0]。数据[new Date().getMonth()]
将为您提供当前月份的数据
class TodoApp extends React.Component {
constructor(){
super();
this.state = {
}
}
componentWillMount(){
this.getSampleData();
}
getSampleData(){
console.log('enter value');
this.setState({
sampleData:{
labels: ['Jan', 'Feb', 'Mar', 'Apr',
'May', 'Jun', 'Jul', 'Aug',
'Sep', 'Oct', 'Nov', 'Dec'],
datasets: [
{
label: '2017',
data: [92, 50, 33, 70, 122, 22, 21,20, 22, 215, 278, 190],
},
{
label: '2018',
data: [22, 210, 520, 278, 260, 245, 221,516, 718, 174, 154, 148],
},
]
}} );
/// Here i want to get monthdata that to be taken from sampleData
monthData:
//for example this month 221 should come here,from the sampleData
console.log('end value');
}
render() {
const d = new Date();
const m = d.getMonth();
const monthData = this.state.sampleData.datasets[1].data[m];
return (
<div>
<h2>Todos:</h2>
<p>Current Month data : {monthData}</p>
</div>
)
}
}
render(){
返回(
//七月:在这种情况下是221
{this.state.sampleData.labels[new Date().getMonth()]}
{this.state.sampleData.datasets.filter((dataset)=>dataset.label==new Date().getFullYear())[0]。数据[new Date().getMonth()]
)
}
JS Fiddle链接:
var数据={标签:['Jan'、'Feb'、'Mar'、'Apr'、'May'、'Jun'、'Jul'、'Aug'、'Sep'、'Oct'、'Nov'、'Dec'],数据集:[{标签:'2017',数据:[92,50,33,70122,22,21,20,2221578190],},{标签:'2018',数据:[2210520278602452215174154148],}]
类TodoApp扩展了React.Component{
建造师(道具){
超级(道具)
此.state={
样本数据:“,
currentMonth:新日期().getMonth(),
当前年份:新日期().getFullYear(),
蒙塔塔:“,
}
}
组件willmount(){
此参数为.getSampleData();
}
getSampleData(){
var self=这个;
this.setState({sampleData:data},()=>{
var filteredArray=this.state.sampleData.datasets.filter((数据集)=>dataset.label==this.state.currentYear)
var monthData=filteredArray[0]。数据[this.state.currentMonth]
this.setState({monthData:monthData})
})
}
render(){
返回(
{this.state.sampleData.labels[this.state.currentmount]}:{this.state.monthData}
)
}
}
组件状态通过实例的状态
成员提供,该成员只是一个普通对象(包含通过设置状态
放入状态的任何内容)。例如,在您的render
方法中,您可以通过this.state.datasets
获取数据集。要将任何变量插入JSX(在render
方法中的html语法),只需使用大括号(例如{myVariable}
)。@user533如何呈现它?当前年度和月份的数据?或者是每年当月的所有数据?@SubhanshuPandey当年当月的数据…我们不能使用一个变量,比如sampleData,只显示在p标签中,并将逻辑移动到getSampleData,这只是一个想法,看看所有的逻辑和变量是如何在getSampleData方法中使用的。你能这样做吗…这将帮助我理解如何进行不同的操作circumstances@user533当然可以。请看这把最新的小提琴这对你有帮助吗?我现在在调用sampleData的setState时使用了相同的逻辑。谢谢…非常有用谢谢@Arul您的输入对我帮助很大…:)@user533欢迎:-)
render() {
return (
<div>
<p>
// Jul : 221 in this case
{this.state.sampleData.labels[new Date().getMonth()]} :
{this.state.sampleData.datasets.filter((dataset) => dataset.label == new Date().getFullYear())[0].data[new Date().getMonth()]}
</p>
</div>
)
}
var data = { labels:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],datasets:[{label:'2017',data:[92,50,33,70,122,22,21,20,22,215,278,190],},{label:'2018',data:[22,210,520,278,260,245,221,516,718,174,154,148],}]}
class TodoApp extends React.Component {
constructor(props) {
super(props)
this.state = {
sampleData: "",
currentMonth : new Date().getMonth() ,
currentYear : new Date().getFullYear(),
monthData : "",
}
}
componentWillMount(){
this.getSampleData();
}
getSampleData(){
var self = this;
this.setState({ sampleData : data},()=>{
var filteredArray = this.state.sampleData.datasets.filter((dataset) => dataset.label == this.state.currentYear)
var monthData = filteredArray[0].data[this.state.currentMonth]
this.setState({ monthData : monthData })
})
}
render() {
return (
<div>
<p>
{this.state.sampleData.labels[this.state.currentMonth]} : {this.state.monthData}
</p>
</div>
)
}
}