【问题标题】:ReactJS Render ComponentReactJS 渲染组件
【发布时间】:2017-08-04 11:55:09
【问题描述】:

我是 ReactJS 的新手。我应该想从其他组件重新渲染一个组件。例如,我已插入并显示组件。单击插入组件的提交按钮后,我想重新渲染显示组件。

显示组件:

import React from 'react';         
import Fetch from 'react-fetch';
import styler from 'react-styling'

class Show extends React.Component {              
  render() {
    return (  
      <div>   
       <h1>Show Component </h1>
      </div>                 
    );
  }
}    
export default Show;

插入组件:

import React from 'react';         
import Fetch from 'react-fetch';
import styler from 'react-styling'

class Insert extends React.Component {    
  handleSubmit(event) {
             //Some code
    }   
  render() {
    return (
    <form onSubmit={this.handleSubmit}>

     <label >name</label>
     <input type="text" name="name" value={this.state.name} onChange=     
     {this.handleInputChange}  />    
    <input type="submit" value="Submit"   />     
  </form>    
 );
  }
}    
export default Show;

现在我想在单击插入组件中的提交按钮时调用或重新渲染或刷新显示组件。提前致谢。

【问题讨论】:

  • 您可能希望“ShowComponent”的内容包含您提交的表单中的某些内容?
  • 我正在对员工信息进行 CRUD 操作。我设计了在单页中显示的所有内容。我已经放置了 div 标签并分别渲染了 4 个组件。现在当我执行插入、更新、删除时,显示应该重新渲染以显示当前信息。
  • 组件会在其 props 或 state 改变时重新渲染。您的表单提交应该更新应用程序的状态。如果你不明白我在说什么,那么你需要花一些时间学习 React。
  • 状态是可变的,道具是不可变的。我在我的组件中使用了状态。如果您提供有关如何使用状态或道具调用另一个组件的信息,那就更好了。
  • 目前您的示例不完整,因为我们看不到这两个组件之间的关系。如果“ShowComponent”总是显示相同的东西,为什么要重新渲染?

标签: reactjs


【解决方案1】:

您必须将 Insert 组件作为 Show 组件的 react 子组件才能在两个组件之间进行通信。组件渲染可以通过更改父组件的状态和更改子组件的道具来执行。在你的情况下,没有一个条件得到满足。 您还可以通过 Flux 框架实现此目的,您可以在其中将侦听器添加到 Flux Store 并在组件上添加 eventListener 以重新渲染 Store 中的更改。

在进行所有这些之前,我建议您更彻底地阅读 React 概念,以了解组件之间的状态和道具行为。

【讨论】:

猜你喜欢
  • 2018-07-20
  • 2023-04-10
  • 1970-01-01
  • 2023-04-11
  • 2017-03-16
  • 2020-06-20
  • 2020-03-23
  • 2015-01-27
  • 1970-01-01
相关资源
最近更新 更多