Javascript 在空数组上使用setState时遇到问题
在空数组上使用setState时遇到问题。我的状态中有一个空数组,我正在尝试使用setState从另一个函数填充它Javascript 在空数组上使用setState时遇到问题,javascript,arrays,reactjs,setstate,Javascript,Arrays,Reactjs,Setstate,在空数组上使用setState时遇到问题。我的状态中有一个空数组,我正在尝试使用setState从另一个函数填充它 dataProcessing.js: const calculate = () => { let series = [{ name: "Sports", data: [ { name: "Baseball", y: 13 },
dataProcessing.js
:
const calculate = () => {
let series = [{
name: "Sports",
data: [
{
name: "Baseball",
y: 13
},
{
name: "Football",
y: 20
}
}]
return series;
}
export default calculate;
import calculate from './dataProcessing';
export default class Main extends PureComponent {
constructor() {
super();
this.state = {
series: []
};
}
calc = () => {
this.setState = ({
series: [... calculate()]
})
}
}
Main.js
:
const calculate = () => {
let series = [{
name: "Sports",
data: [
{
name: "Baseball",
y: 13
},
{
name: "Football",
y: 20
}
}]
return series;
}
export default calculate;
import calculate from './dataProcessing';
export default class Main extends PureComponent {
constructor() {
super();
this.state = {
series: []
};
}
calc = () => {
this.setState = ({
series: [... calculate()]
})
}
}
执行
calc()
函数后,this.state.series
仍然是一个空数组。我做错了什么?提前谢谢 此.setState
是异步的。调用setState后,组件将重新渲染
您可以使用setState的回调来获取新的更新状态
this.setState = ({
series: [...calculate()];
}, (newState) => {
console.log(newState);
});
您希望将一个方法绑定到this,并调用this.setState,而不是设置this.setState=
calc() {
this.setState({
series: [... calculate()]
})
}
dataProcessing.js:
const calculate = () => {
let series = [{
name: "Sports",
data: [
{
name: "Baseball",
y: 13
},
{
name: "Football",
y: 20
}
]
}]
return series;
}
export default calculate;
Main.js:
import calculate from './dataProcessing';
export default class Main extends PureComponent {
constructor() {
super();
this.state = {
series: []
};
}
calc = () => {
this.setState = ({
series: [...calculate()]
}, () => {
console.log("series", this.state.series)
})
}
}
你在哪里检查
this.state.series
?我在render()中调用它