this.state.newDetails == null ? '' :
<NewDetailsView details={this.state.newDetails} />
import React, { Component } from 'react';
class NewDetailsView extends Component {
constructor(props) {
super(props);
this.state = {
details: (this.props.details!= null) ? this.props.details: null
}
}
componentWillReceiveProps(nextProps) {
this.setState({ details: nextProps });
this.forceUpdate();
}
render() {
return (
<div>
<input type="text" defaultValue={this.state.details.id} />
</div>
);
}
}
export default NewDetailsView ;
悬而未决...
问题在ComponentWillReceiveProps
中:
this.setState({ details: nextProps });
应该是:
this.setState({ details: nextProps.details });
并删除this.forceUpdate();
,这里不需要forceUpdate
。
<input type="text" value={this.state.details.id} />
我在克服react路由器的问题时遇到困难。该场景是,我需要从状态父组件和路由向子路由传递一组道具 我想做的是传递its,传递its。然而,我能找到的唯一方法是通过这两个和,这意味着每个子路径都会获得每个子道具,无论其是否相关。目前这不是一个阻塞问题,但我可以看到,有一段时间我会使用同一组件的两个,这意味着propA上的键将被propB上的键覆盖。 这实际上是我所期望的方式。当我链接到我得到组件渲染
我对在反应中传递道具有问题。这是我的文件夹结构: src > Button.js 容器 PageContainer.js 页 Page.js 我正在使用Bootstrap 4在Button.js中创建一个按钮: “类”按钮中没有其他内容。现在我在类PageContainer中添加了一个按钮: 如你所见,我给按钮传递了一个标题:后退和下一步。那工作正常。我现在可以添加一个网址,它会工作正常,但这不是
我需要通过使用路由器的组件道具。这是我的代码: 如您所见,我验证了我要传递给登录组件的道具。 当我记录道具时,未经验证的道具不存在。我做错了什么?我怎样才能正确地通过道具?我跟踪了文档和其他讨论。据我所知,这应该是可行的。react router和react router dom的版本为4.0.0
制表符组件
我在找到一种将道具传递给组件子组件的方法时遇到了一点麻烦。我想做的是有一个组件(ParentComponent)它有一个函数(toggleSuccess())来改变它自己的状态(例如一个名为成功的布尔值),并将该函数作为onClick道具传递给它的所有子函数。理想情况下,我可以将各种组件放入ParentComponent,它们都可以通过onClick道具访问toggleSuccess()。有没有一
我在一个组件中有一个按钮,单击我想转到另一个组件并将状态传递给该组件。 是这样的: 但它不起作用。单击“我去添加新问题url”,但组件AddNewQuestionPage不会呈现。若我不把路线放在AddQuestions组件中,而是放在应用程序组件中,它就可以工作。它是整个应用程序的主要组件,使用Switch,还设置了其他路由。 但是,如果状态问题是从应用程序组件呈现的,我不知道如何将其传递给Ad