这更多的是一个考虑到react.js的架构师问题。
我应该把下面的业务逻辑放在哪里?
一旦用户通过身份验证,我们就可以访问他们的用户实体。我想检查user对象上的一个值,如果为空,填充它将是我只能在客户端获得的数据,然后修补该对象。获取、修补对象的所有代码都在alt.js存储中。但这是业务逻辑,感觉它是商店的一部分并不正确。
我考虑过一个react组件,它被设置为根react路由上的一个组件。但是它看起来不像是正确的位置,因为它没有渲染任何东西。
发布于 2016-09-20 08:27:52
这并不是对React的关注,就像你说的,它更多的是一种架构选择。
就像之前的文章分享的那样,你可以使用React生命周期方法。也许更好的方法是使用像Redux这样的状态管理库。
如果你还没有使用Redux,我强烈推荐它!虽然它不是always the best choice,但它似乎适用于我99%的用例!
祝好运!
发布于 2016-07-27 05:29:32
你以前用过context吗?
您可以使用getUser函数创建上下文组件。该组件将处理用户实体的所有业务逻辑。
上下文的美妙之处在于,它不需要是其他组件的父项或子项。
您只需通过上下文导入getUser,即可使用该函数。也就是说,任何需要知道用户上下文的组件都可以做这样的事情。
componentDidMount() {
this.context.getUserInfo((data) => this.setState({ user: data }))
}上下文的另一个用例是通知程序。通知程序可能需要在你的应用程序中随机使用,在需要的时候作为道具传递下去将是一场噩梦。
相反,将其创建为上下文,并根据需要导入它。
如果这听起来可能有用,我将提供一个示例。
此外,您还可以签出react docs
https://stackoverflow.com/questions/38502313
复制相似问题