reactjs - React 向孩子们发送道具
问题描述
我正在尝试将数据从 index.js 发送到 App,然后将其分发到应用程序的各个组件。Cannot read property 'name' of undefined
它在这个标记上失败了render({ name, street, state })
我不明白这里有什么问题?
我有以下要传递的测试数据:
let data = {
from : {
name: "Full Name",
street: "123 Fake St.",
state: "Boston, MA 02118",
},
to : {
name: "Mrs. Receiver",
street: "123 Fake St.",
state: "San Francisco, CA 94101",
}
}
然后,我让这个班级接受它并将其发送给它的孩子
class App extends Component {
render() {
const { from, to } = {...this.props.data }
return (
<div className="Envelope">
<Stamp />
<From data={ from } />
<To data={ to } />
</div>
);
}
}
然后,我有这个孩子,例如:
render({ name, street, state }) {
return (
<div className="From">
<span>
{ name }
</span>
<br />
<span>
{ street }
</span>
<br />
<span>
{ state }
</span>
</div>
)
}
解决方案
不知道我的问题是否正确。
render 不接收参数。
您可以将其包装在展示组件中。
const Child = ({name,street,state}) => (<div> className="From">
<span>{ name }</span>
<br />
<span>{ street }</span>
<br />
<span>{ state }</span></div>)
然后像这样使用它
<Child name={name} street={street} state={state} />
如果你有更复杂的逻辑,你应该考虑使用一个类并扩展React.Component
推荐阅读
- julia - 具有相等运算符的 Julia 表达式不起作用
- python - 具有舍入误差匹配总和的所有可能的数字组合
- firebase - 使用用户名和密码进行 Flutter Firebase 身份验证
- bash - 配置错误:没有提供根域名
- python - Python 没有更新全局列表 - RectangleSelector
- javascript - 护照身份验证和重定向遇到问题
- ios - ios 中的 Comscore 分析
- c# - C# 脚本 - SQL 查询最佳实践
- python - 防止箭头键在 Python (Tkinter) 中输入数字
- arrays - 数组下的laravel数组验证