【发布时间】:2019-09-04 09:52:06
【问题描述】:
我有一个有状态的 React 组件,我想访问状态对象内的状态形式的值,特别是 number_rows。
class Contracts extends React.Component{
constructor(props) {
super(props);
this.state = {
number_rows: 30, //starting default
data: props.data
.sort((a, b) => this.high_to_low(a, b, "latestVolume"))
.slice(0, this.state.number_rows)
};
}
render(){
return(
...
)
}
}
export default Contracts;
我无法让我的slice() 读取this.state.number_rows 中设置的行数
例子
b={a:'a', c:b.a}
{a: "a", c: "a"}
我试过state.number_rows 和this.number_rows 这可能吗?有解决办法吗??
感谢您的帮助!!
【问题讨论】:
-
从父组件传递 number_rows 或存储在 redux 中。你使用的方式不对。并且您仍然想使用相同的组件,然后尝试使用 componentDidMount 方法。
-
正如@mfakhrusy 所暗示的那样,我很好奇您希望
number_rows采取何种行动。它是常数还是可以改变?如果可以,这发生在 React 组件的层次结构中的哪个位置? -
是的
number_rows会改变,我不是恒定的 -
您在初始化之前访问状态。
-
不,您不能使用它。要么让它成为一个常数,要么使用道具发送它。如果它是动态的,我会两者都做,像这样: .slice(0, props.number_rows ? props.number_rows : NUMBER_ROWS_CONSTANT);
标签: javascript reactjs object state