我已经实现了一个模态组件,在屏幕上显示模式对话框.通常,模态将有条件地显示.我可以通过两种方式在render函数中执行此操作:
render(){
...
<Modal show={this.state.showModal}>
// something in modal
</Modal>
}
Run Code Online (Sandbox Code Playgroud)
在Modal组件中,我使用this.props.show为自己添加一个不同的类.如果为false,则会添加display:none来隐藏模态.
另一种方式是这样的:
render(){
...
{ this.state.showModal &&
(<Modal>
// something in modal
</Modal>)
}
}
Run Code Online (Sandbox Code Playgroud)
这用于showModal决定是否在渲染中添加模态.
我想弄清楚的是:
编辑:似乎不同的人有不同的偏好.对我来说,我更喜欢@ErikTheDeveloper所说的.显示/隐藏模态的功能应该保留在模态中,当我们不需要显示模态时,我们可以在模态中返回null.
我想也许没有一个答案,哪种方式更好.也许这只是个人选择?
我最近在我的项目中使用了回流,这是一个让我很困惑的问题。
作为回流模式,我在我的 React 组件中调用动作,并在我的回流存储中获取正在监听动作的远程数据。我的组件会监听存储中数据的变化。例如获取项目列表。到目前为止还好。
但有时,我想要一个通知,告诉我该操作已成功执行。
例如,我有一个 UserStore、一个 UserActions 和一个监听 UserStore 的 LoginComponent。当用户输入用户名和密码并单击提交按钮时,LoginComponent 调用 UserActions.login(),然后我在 UserStore 中发送登录请求。登录成功后,UserStore 从响应中获取用户信息。
这个时候我想在LoginComponent中给出'Login Success'这样的提示。我有两种方法可以做到,但我认为这两种方法都不够好。
我想问的是:解决这个问题的常见/适当方法是什么?
我不是来自英语地区,也不擅长英语表达。这是我在 stackoverflow.com 上的第一个问题。我不太确定我是否清楚地描述了我的问题。所以如果你对这个问题有一些建议,请告诉我,我会改进它以帮助其他关心这个问题的人。非常感谢!