Reactjs Array.slice(开始、结束)不工作

Reactjs Array.slice(开始、结束)不工作,reactjs,slice,Reactjs,Slice,我对slice()函数有问题 我的代码: constructor(props){ super(props); this.state({ data: props.data }) } //my function onSliceData = () => { let data = this.state.data; let sliceData = data.slice(0,5); return sliceData; } 我的问题是我的函数不返回任何内容。当我在on

我对
slice()
函数有问题

我的代码:

constructor(props){
  super(props);
  this.state({
    data: props.data
  })
}

//my function
onSliceData = () => {
  let data = this.state.data;
  let sliceData = data.slice(0,5);
  return sliceData;
}
我的问题是我的函数不返回任何内容。当我在onSliceData中
console.log(数据)
时,我收到如下结果:

当我
console.log(sliceData)
时,我只收到[] 我尝试使用Object.keys将数据转换为数组,但可能不起作用。
我需要一些帮助

确保接收的道具具有数据(即数组)

在构造函数中:

constructor(props){
  super(props);
  this.state = { // assign the state with an js object instead of calling it as a func.
    data: props.data
  }
}
试试这个:

onSliceData = () => {
  let data = [...this.state.data]; // spreading will return a new array
  let sliceData = data.slice(0,5);
  return sliceData;
}

尝试使用
Array.from(data).slice


它在ReactJS上对我同样有效。

Object.keys不会将对象转换为数组。是的。key只返回数组是Object的键。我想返回对象数组,例如:[{},{},…]我该怎么办?检查我的答案,如果props.data是一个对象数组,onSliceData应该返回一个对象数组:)谢谢你,但对我不起作用:(它在里面不返回任何内容:(你在何时何地调用onSliceData?我在
componentDidMount(){this.onSliceData()}处调用)
返回值记录在哪里?我通过axios从mysql获取数据