我有一个应用程序,显示用户可以与之交互的Integrations
列表。用户可以使用一个按钮来Connect
用其帐户Integration
。 Connect
操作会弹出一个模式,允许他们输入信息,单击Submit
,这会发送网络请求,并在完成后,UI将Integration
显示为Connected
。这很容易。
我要添加另一个Integration
,除了这次按钮不应该显示模式,而应该立即发出网络请求。
我正在努力寻找正确分离这些案件的正确方法。
我可以使用var callback = integration.name === NewOne ? newCallback : oldCallback;
。回调必须从最顶层的组件传递,因此我可以将两者都传递下去,然后Integration
组件可以决定用哪个呈现按钮?
另一个问题是,当用户单击Connect
时,它将修改最顶部组件的状态并设置一个inProgressIntegration
变量。如果此变量是null
或undefined
,则不显示模式,否则显示。即使正在进行网络请求,此状态也很有意义,但是我不希望显示模式,因此shouldShowModal(...)
的逻辑类似于(inProgressIntegration && inProgressIntegration.name != NewOne)
。
对别人的想法感兴趣。
谢谢!