mobx + react に非常に大きなアプリがあり、多くのコンポーネントがストアで同じアクションを呼び出します。たとえば、「写真の削除」は、写真のリストまたはモーダルから呼び出すことができます。しかし、アクションを実行する前に、たとえば、確認モーダルを表示する必要があります...
私はこの解決策に行き着きましたが、データログインとビューロジックを混在させているようです...
class PhotoStore {
@observable photos;
@action destroy(photo) {
if (currentUser.isGuest) {
modalStore.open('NoGuest')
return
}
modalStore.openConfirm(() => {
// some datalogic
api.delete('/photos/'+photo.id).then(() => {
notificationStore.showSuccess('your photo was deleted!')
})
})
}
}
const PhotoView = observer(({photo}) => {
return <div onClick={() => photoStore.destroy(photo)}>...</div>
})
どうしたの?行ってもいいですか?
どうもありがとう!