我在客户端制作一个所见即所得的编辑器,其顶层渲染功能为NewProjectContainer
:
render () {
return (
<div className="blog-post">
<TitleContainer user={this.props.user}/>
<ContentContainer user={this.props.user}/>
</div>
)
}
TitleContainer
和ContentContainer
都可以被编辑,并且应该保存到本地存储中,并且在卸载时,保存到后端数据库。当前,每个组件都有其自己的saveLocal
和saveDb
函数,这显然是一种反模式。理想情况下,子节点应将其内容移交给父节点NewProjectContainer
,然后由父节点处理保存逻辑。 React是否同意这是做事的“理智”方式?如果是这样的话,React中是否有语言结构(在这里是我的新手)?最简单的方法是将函数作为道具传递,但这听起来很奇怪,我在这里错了吗?
答案 0 :(得分:1)
您要避免的陷阱之一是让您的状态分散到整个应用程序中。
这是我的建议: