javascript - 如何通信多个组件

标签 javascript reactjs

我正在学习React Js,但我会知道与这个库通信多个组件。例如:

文件1.jsx

class fileOne extends Component{
   //get some value
   //do something
   //send value to file2
}

文件2.jsx

class fileTwo extends Component{
   //recive some value
   //do something
   //and return some value
   //to file1
}

file3.jsx

class fileThree extends Component{
   //recive some value
   //do something
   //and return some value
   //to file1
}

此文件是否位于同一文件夹中并不重要。

最佳答案

文件一包含我们的状态,我们可以通过将此状态作为 prop 传递给任何组件。

我将包含“hello”的 this.state.greeting 作为名为greeting 的 prop 传递给 fileTwo 组件。

您还希望类名称以大写字母开头。

class FileOne extends Component{
state={greeting:'hello'}

render() {
 return (
 <div> 
    <FileTwo greeting={this.state.greeting}/> 
    <FileThree greeting={this.state.greeting} />
 </div> 
  )
 }
}

FileTwo 可以使用 this.props 访问来自 fileOne 的问候语。我们可以使用大括号来渲染它。

class FileTwo extends Component{
 render() {
  return (
    <div>This is the greeting {this.props.greeting} </div>
   )
  }
}

函数式无状态组件可以从父组件 FileOne 接收 props。

const FileThree = (props) => <div> 
    This is the third file component, 
    it can recieve props just like the second file {props.greeting} 
</div>

关于javascript - 如何通信多个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49373223/

相关文章:

javascript - Owl Carousel 2垂直图像分页

javascript - 数据在 JQuery 中未经验证而更新

javascript - 使用 moment.js 可以从给定的字符串创建时间戳

javascript - 使用 React 动态标题标题

javascript - 如何在响应中使用错误边界?

javascript - 键事件的顺序是原子的吗?

javascript - Supersized.js 背景未在母版页中呈现

javascript - 如何正确使用map函数的索引来访问数组中的元素

javascript - React js 中的 "Mounting"是什么?

reactjs - 在构造函数中声明 React 状态,而不是在构造函数外