-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
проблема с сигналами
нерабочий вариант
const $aiRequestModalMeta = $({ visible: false })
async function openAIRequestModal () {
$showAIRequestModalLoader.set(true)
const [$request] = await sub($.aiRequests, {
type: getAIRequestType(),
scope: 'event',
scopeId: $event.getId(),
$sort: { createdAt: -1 },
$limit: 1
})
$showAIRequestModalLoader.set(false)
if ($request) {
$aiRequestModalMeta.set({ visible: true, requestId: $request.getId() })
} else {
alert('There is no AI request for this event')
}
}
AIRequestModal(
$visible=$aiRequestModalMeta.visible
requestId=$aiRequestModalMeta.requestId.get()
)
export const AIRequestModal = observer(({ $visible, ...props }) => {
if (!$visible.get()) return null
// вот тут requestId - undefined
if props.requestId
RequestWrapper($visible=$visible ...props)
else
PreviewWrapper($visible=$visible ...props)
})рабочие варианты:
- оставляем
.get()для пропса и выносим его в отдельный сигнал
const $aiRequestModalRequestId = $()
AIRequestModal(
$visible=$aiRequestModalMeta.visible
requestId=$aiRequestModalRequestId.get()
)- передаем сигнал в модалку, а не его значение
AIRequestModal(
$visible=$aiRequestModalMeta.visible
$requestId=$aiRequestModalMeta.requestId
)
export const AIRequestModal = observer(({ $visible, ...props }) => {
if (!$visible.get()) return null
if props.$requestId
RequestWrapper($visible=$visible ...props)
else
PreviewWrapper($visible=$visible ...props)
})Metadata
Metadata
Assignees
Labels
No labels