【.com速译】每个React应用都是由交互组件组成的。这些组件如何通信是UI架构的重要组成部分。随着应用程序变得越来越大和越来越复杂,组件交互变得越来越重要。React提供了多种方式来处理这种需求,每种方式都有相应的用例。这次就从最简单的亲子互动方式说起吧。父组件和道具组件之间最简单的通信形式是通过属性——通常称为道具。Props是从父组件传递给子组件的参数,类似于函数参数。Props允许将变量传递给子节点,当值发生变化时它们会在子节点中自动更新,如清单1所示。清单1.Props(基于类):functionApp(){return
}functionAppChild(props){return
我的名字是{props.name}}ReactDOM.render(
,document.getElementById('app'));清单1显示了如何在基于函数的组件树中处理props。这个过程类似于类。这个基于函数的示例演示了函数式样式的更紧凑语法。带有函数props的子-父组件清单1允许从父到子传递值。当子节点需要更新父节点变化时,不能只修改属性。如果您尝试直接修改孩子的prop,您将在控制台中看到以下类型的错误:UncaughtTypeError:Cannotassigntoreadonlyproperty'foo'ofobject'#