草庐IT

getInitialState

全部标签

javascript - React JS this.props.data 未在子组件的 getInitialState 中定义,即使它是在渲染中定义的(并且在父级中定义)

场景:在同一个祖父包装器(->)中重用组件(->)以实现代码重用。首先,我分配了一个数据数组并循环以重新使用子组件(->)。对于第二个,它只是一个对象(具有与数组对象相同的属性),我直接在渲染中分配它(不需要this.props.data.map循环,因为已经只有一个对象)。问题:对于阵列,一切都按要求工作。this.props.data传递给child,状态通过各种事件更新,一切都很好。然而,对于单个对象,在之前一切正常.即使this.props.data包含有效值并正确分配给child组件,在的getInitialState,它莫名其妙地未定义(或设置为的getInitialSta

javascript - getDefaultProps 和 getInitialState 之间有什么区别?

我是Reactjs的新手。getDefaultProps(){return{backgroundColor:'gray',height:200,width:200}},我为getDefaultProps和getInitialState设置了相同的值:getInitialState(){return{backgroundColor:'gray',height:200,width:200}},两者之间的逻辑区别是什么。应该覆盖哪个或哪个将首先执行。谢谢。 最佳答案 获取初始状态对象**getInitialState()**在组件被调用之

javascript - react componentDidMount 与 getInitialState

我对React的使用和模式有一些疑问。我应该使用componentDidMount或getInitialState在异步加载数据?两者有什么区别?我正在为我的前端数据结构使用Backbonethis.props.data=newBrandModel({_id:this.props.params.brandId});varthat=this;this.props.data.fetch({success:function(){that.setState({brand:that.props.brand});}});returnnull;更新:感谢您的回复ThisQuestion不是向我们建议

javascript - ReactJs:如何在渲染组件时传递初始状态?

我知道我可以在渲染组件时传递props。我也知道getInitialState方法。但问题是,getInitialState并没有多大帮助,因为我的组件不知道它的初始状态。我愿意。所以我想在渲染时传递它。像这样的东西(伪代码):React.render();我知道我可以使用prop作为初始状态,但这听起来像是一种反模式。我该怎么办?编辑清晰假设我有一个CommentList组件。当我第一次渲染它时,初始状态对应于我数据库中当前评论的快照。当用户添加评论时,此列表将发生变化,这就是为什么它应该是state而不是props的原因。现在,为了呈现评论的初始快照,我应该将它传递给Comment

javascript - 为什么没有为我的 React 类调用 getInitialState?

我在Babel中使用ES6类。我有一个看起来像这样的React组件:import{Component}from'react';exportdefaultclassMyReactComponentextendsComponent{getInitialState(){return{foo:true,bar:'no'};}render(){return({this.state.bar});}}它看起来不像是调用了getInitialState,因为我收到了这个错误:Cannotreadproperty'bar'ofnull。 最佳答案 开

javascript - 为什么没有为我的 React 类调用 getInitialState?

我在Babel中使用ES6类。我有一个看起来像这样的React组件:import{Component}from'react';exportdefaultclassMyReactComponentextendsComponent{getInitialState(){return{foo:true,bar:'no'};}render(){return({this.state.bar});}}它看起来不像是调用了getInitialState,因为我收到了这个错误:Cannotreadproperty'bar'ofnull。 最佳答案 开