我是个新手,所以不要用任何非技术性的词语。我有一个父组件,它在单击按钮时有一个按钮元素,调用一个函数来创建一个新对象。我想要的是,当用户单击这个按钮时,子组件应该呈现在父按钮元素下面,每次单击按钮时,新对象应该作为道具传递给子组件,以便它可以在屏幕上显示它,但以前调用的子组件应该保留在屏幕上。
从React导入;
class childcomponent extends React.PureComponent{
state = { data: this.props.data }
render(){
return(
<div>
<span>Name: {this.state.data.name}</span>
<span>Lastname: {this.state.data.lastname}</span>
</div>
)
}
}
类父母组件扩展反应。PureComponent{
handleAddChild=(e)=>{
e.preventDefault();
//Here i form the object
const user = {
//key:value
}
//want to render child component from here
}
render(){
return(
<div>
{/* //some code
//some code
//some code */}
<button onClik={this.handleAddChild} >Save</button>
{/* //want to render child component here </childcomponent> */}
</div>
);
}
}
在父组件中创建一个数组,并存储与父组件的State值相同的值,通过子组件中的数组将此数组作为道具传递给子组件循环,以获得尽可能多的列表组件
子组件
let List=this.props.data.map(item=>(
<div>
<span>Name: {this.state.data.name}</span>
<span>Lastname: {this.state.data.lastname}</span>
</div>
))
render(){
return(
<List/>
)
}
}````
在react中,您需要考虑您的JSX(HTMLJS)已经准备好显示子组件,并且只等待状态显示它。首先,您需要父组件的状态和一些空对象state={child:{})
然后在渲染方法中
{!!this.state.child && <Childcomponent data={this.state.child}}
然后添加方法
addChild = () => this.setState({ child: {name: 'Hi', surname: 'Hello'} })
这里有一个让孩子们进入状态的技巧
this.state = {
children: []
}
然后循环渲染
renderChildren = () => {
return this.state.children.map(item => {
return <Child />
})
}
并添加子项
handleAddChild=(e)=>{
e.preventDefault();
//Here i form the object
const user = {
//key:value
}
this.setState({children: [...this.state.children, user]})
}
我试图使用React创建简单的社交媒体软件,用户可以发布一些内容,其他人可以在提要上看到帖子。我有一个Home组件,我通过使用useHistory.push方法的登录组件向其传递道具。在Home组件中,我希望NavBar是持久的,并使用NavBar链接切换内容。每当我使用路由和链接更改子组件时,主组件重新加载并丢失道具,导致“无法读取未定义的属性用户名”错误。在道具中,我只保留登录人的用户名。 应
是在切换时需要添加和删除的类。 如果使用状态来处理类名,那么内容重新发送器…示例:在子组件中有一个ajax调用,当单击menubutton时,它会重新编辑页面并返回其主页。
在父组件中: 我有一个布尔状态: 我将其发送到子组件: 根据布尔值,我希望它呈现不同的组件。
我对JS的反应有点陌生。我有两个问题。我来了 现在我要做的是,当应用程序组件挂载时,我生成一个对后端服务器的ajax调用,当它返回时,它更新道具,并设置状态,这样子组件也会重新呈现,但子组件不会重新呈现。谁能告诉我出了什么问题。 问题2 现在让我们假设我将进入组件二路由,它将呈现组件二,我在应用程序组件中生成一个ajax调用,根据ajax调用返回的数据,我在应用程序组件中设置了一些道具,我还希望组
parentcomponent.js ChildComponent.js 为什么在单击后,子组件仍然显示旧值而不重新呈现?
所以我对vue的父子组件通信有问题。问题是,当我导航到一个组件后,它应该调用ajax从服务器获取数据。收到数据后,父组件应该通过道具将其发送给所有子组件,但道具数据不显示。子组件只有在我更改编辑器上的代码后才开始显示props数据。这是我父组件的代码 这是我的单一产品规格组件,不会加载道具数据: 正如我所说,我的单一产品规范组件的唯一问题不是它不会加载道具数据。问题是,当我在文本编辑器中更改代码时