我有一个React组件,其中有
null
的值
必须指向其组件的状态 - 组件状态只能由
GetInitialState
中的传入道具设置;例如,setstate
不能在componentdidupdate
中使用;因此,在重新呈现 时,我永远无法更新状态,也无法更新我的值
所以我的问题是,如何在ReactJS中创建一个
值
可以由用户、初始加载时的传入道具以及对传入道具的更新来更新?
到目前为止,我想到的唯一糟糕的变通方法是使用“非托管”状态,我自己的JSON道具绑定到组件上,以代替正式的React状态。但这不是“反应方式”
下面是简化的代码,以防万一。
此代码在初始组件加载时工作,但再也不会使用props,因此无法从props更新
var Input = React.createClass({
componentDidUpdate: function() {
// when component updates, can't use setState here to update state,
// and thus can't update <textarea> content
},
getInitialState: function() {
return {
draftPath: this.props.draftPath,
draftBody: this.props.draftBody
};
},
handlePathChange: function(event) {
this.setState({
draftPath: event.target.value
});
},
handleBodyChange: function(event) {
this.setState({
draftBody: event.target.value
});
},
render: function() {
return (
<div id='cyoag-input-container'>
<textarea id='cyoag-input-path' type='text'
value={this.state.draftPath} onChange={this.handlePathChange} >
</textarea>
<textarea id='cyoag-input-body' type='text'
value={this.state.draftPath} onChange={this.handleBodyChange} >
</textarea>
</div>
);
}
}
可以使用ComponentWillReceiveProps(nextProps)
使用传入属性更新组件状态。
不要忘记将组件道具与nextProps进行比较,以便仅在必要时调用setstate
。
我是一个相当新的反应,这是一个我正在努力解决的问题。
问题内容: 当我将商店从道具传递到其他组件时,它变得不确定。我正在使用时会发生这种情况,但如果没有这种情况,它会很好。路线部分 路线在组件中 布局方法 我正在像这样通过应用程序组件传递商店 该商店将从这样的布局组件转到主体组件 在主体组件中,我是从正在node.js服务器中运行的api获取的 我在功能中出现错误 错误 无法读取未定义的属性“地图” 奇怪的是,当我在没有路线的情况下工作时,一切都会好
该父级接收“props.id”并将数据值传递给由getAttributes()返回的子级。 在child上,我可以在控制台和componentWillReceiveProps中看到props值,但数组没有呈现。我尝试使用react-devtool。在react-devtool中,道具似乎传递给了孩子,但不是渲染。有趣的是,在react-devtool中,当我改变数组的一些元素时,数组正在呈现。 我
我想为Netty处理程序使用不同于套接字的输入。这可能吗?如果是这样,什么是有效的输入格式?
PropType对调试很有帮助,因为当期望未得到满足时,它们会显示警告。除此之外,它们还很好地表达了组件应该如何使用的意图。 如果我有一个组件,它接受一个可能是promise的值的prop,是否有某种方法可以使用PropType来表达?我想象的要么是像这样的直接的东西,要么是使用构建块PropType来表达“thable”概念的某种方式。 下面是一个高度简化的示例,展示了我的预期用例:
我有以下组件,它主要依赖于react native的 我能够输入注释我自己的道具,但在上面的例子中抛出了一个错误 [flow]属性<代码>样式(在道具中找不到属性)常量样式:任意 我知道在typescript中,我可以将接口扩展到Image one,流程中是否有一些东西可以让我的道具以某种方式从继承所有类型?我如何从react native导入这些类型? 编辑我发现了一个叫做交叉点类型的概念,并尝