Описание тега xstate

NoneXstate - это библиотека Javascript для создания конечных автоматов и диаграмм состояний.
1 ответ

Передача значений при отправке событий с одного компьютера на другой в xState

У меня есть простой ChatMachine, который вызывает todoMachine. В todoMachine есть событие под названием OPENED_TASK_LIST_CREATOR, которое я хочу вызвать из chatMachine. Мне удалось это выяснить. export const chatMachine = Machine({ id: 'chat', initi…
28 фев '19 в 06:41
2 ответа

Установить контекст и запустить метод в действии xState

У меня есть простой конечный автомат, который обрабатывает форму ввода export const chatMachine = Machine({ id: 'chat', initial: 'idle', states: { idle: { on: { SET_MESSAGE: { actions: ['handleMessageChange'] }, COMMENT_SUBMITTED: { actions: ['submi…
26 фев '19 в 08:54
1 ответ

Как получить начальное состояние иерархической машины xstate?

Предполагая, что мы имеем следующую упрощенную иерархическую xstateмашина... const HFSM = Machine({ initial: 'init', states: { init: { initial: 'leaf' } } }); ... каков наилучший способ получить его начальное состояние? Обратите внимание, что HFSM.i…
1 ответ

Xstate: различные действия и охранники, ведущие к одному и тому же состоянию

Я пишу диаграмму состояний с помощью библиотеки xstate. Диаграмма состояний представляет собой интерфейс среднего уровня сложности. У меня есть несколько параллельных состояний, но для этих вопросов давайте учтем только два: SelectionStatus, который…
11 апр '18 в 15:15
3 ответа

Какова реальная разница между редуксом и конечным автоматом (например, xstate)?

Я работаю над исследованием одного интерфейсного приложения средней сложности. На данный момент он написан на чистом javascript, в нем много разных сообщений на основе событий, соединяющих несколько основных частей этого приложения. Мы решили, что, …
01 фев '19 в 15:41
0 ответов

Проблемы с использованием контекста

Я изо всех сил пытаюсь понять, почему установка контекста с помощью assign не всегда работает. У меня есть очень простое приложение, которое вы можете найти здесь https://codesandbox.io/embed/y0xk1mo9x9 У меня есть этот контекст: { selectedItem: 0, …
09 май '19 в 08:49
0 ответов

Использование отправки встроенного действия

Я не понимаю значения и использования встроенного действия "отправить". Вы можете увидеть здесь https://codesandbox.io/embed/7467qk4rox очень простой пример с машиной с двумя параллельными узлами состояния; второй отправляет события, используя встро…
09 май '19 в 11:04
0 ответов

Я могу иметь разные значения в разных состояниях в xstate

У меня есть много кода, как это: export const getNodeShapeSize = ({ scaleToFit, compress, expanded }: { scaleToFit: boolean; compress: boolean; expanded: boolean; }): number => { if (scaleToFit) { return ShapeSizes.full; } if (compress &&…
11 май '19 в 20:51
1 ответ

Машинопись - как расширить интерфейс в определенном месте (расширить базовое состояние для библиотеки xstate)

Я хочу иметь возможность расширить базовый интерфейс в одном или нескольких конкретных местах. Идея состоит в том, чтобы иметь возможность определить базовое состояние для библиотеки xstate, которое может быть расширено для более конкретных целей. у…
30 июн '19 в 20:43
1 ответ

Глобальный переход в состояние "лови все, делай, убирай, уходи"

У меня есть состояние перехвата всех ошибок, которое делает некоторую очистку для моего приложения и завершается красиво. В настоящее время я должен создать конкретное событие {type: "unexpected_error"} и добавить переход к каждому состоянию моей ма…
11 июл '19 в 07:50
1 ответ

Могу ли я использовать экземпляр компонента для нескольких деревьев в React?

Я создавал API, чтобы помочь управлять машинами состояний в React. Он состоит из трех компонентов: <StateMachine>: Получает xstate машина как опора и устанавливает контекст для использования более глубоких компонентов. <StateView>: Получ…
17 июл '19 в 13:58
1 ответ

XState: ожидание ответа вызванной функции

Я планирую использовать XState для управления состояниями в бэкенде моего приложения. Когда вызывается API, при успешном изменении состояния вызывается функция. Результат вызова функции должен быть возвращен как ответ API. // Returns a Promise, e.g.…
05 июн '19 в 09:46
1 ответ

Где в Xstate хранится сообщение создателя действия?

Выдержка из документации по назначению: import { Machine, assign } from 'xstate'; // example: property assigner // ... actions: assign({ // increment the current count by the event value count: (context, event) => context.count + event.value, // …
17 ноя '19 в 17:54
1 ответ

Можно ли определить состояние, которое переходит само в xstate?

Рассмотрим следующий автомат: { id: 'my_machine', initial: 'foo', states: { foo: { on: { TRIGGER_BAR: 'bar' } }, bar: { on: { TRIGGER_BAR: 'bar' TRIGGER_FOO: 'foo' } } } }); Возможно ли bar перейти к bar снова через TRIGGER_BAR событие?
17 ноя '19 в 18:17
0 ответов

Как направить навигацию с помощью xState в приложении React Native

Я новичок в xState и хочу перенести свое существующее приложение с redux на xState(мой основной мотив - полностью избавиться от кода redux из приложения), чтобы сделать это, я перешел по некоторым ссылкам, но застрял в части навигации. Позвольте мне…
21 июл '20 в 09:45
1 ответ

Сложность устранения ошибок при импорте в Javascript

Я новичок в JavaScript и vscode, и настроить его было сложнее, чем на любом другом языке, который я использовал на работе. Когда я запускаю код (в Test.js): var msg = 'here'; console.log(msg); import { Machine, interpret } from 'xstate'; Я получаю с…
07 фев '20 в 21:57
1 ответ

Переходный переход, который устанавливает значение только при прохождении условия

Возьмите следующий код: const isWarning = () => { ... } const setWarning = () => { ... } const machine = Machine({ initial: "foo", context: { warning: null }, states: { foo: { on: { "": [ target: "bar", action: "setWarning", cond: "isWarning",…
18 ноя '19 в 16:48
1 ответ

XState: объединение нескольких обещаний без промежуточных состояний

Я прочитал раздел " Вызов нескольких служб ", в котором говорится, что можно вызывать несколько обещаний, но в моих собственных тестах они выглядят так, чтобы их вызывать, не дожидаясь завершения предыдущего. // ... invoke: [ { id: 'service1', src: …
11 сен '19 в 01:25
1 ответ

Создание детских машин в xstate

В настоящее время я работаю над приложением, использующим xstate, у меня есть родительский компьютер, который порождается на двух разных дочерних машинах, дочерние машины делают выборку в другую конечную точку API, и все они отправляют обратно родит…
29 окт '19 в 18:52
1 ответ

useMachine с TypeScript выдает ошибку TypeScript о несовпадении типов

Я следовал простому примеру на https://github.com/carloslfu/use-machine, чтобы создать свой первый пример для конечной машины xstate, и застрял со следующей ошибкой машинописного текста: Argument of type '{ actions: { sideEffect: () => void; }; }…