Рекомендуемые методы для поля, обновляющего, встроили Linux безопасно

Управляя необработанным DOM, вы подрываете способность React оптимизировать рендеры. В приведенном выше случае вы можете легко установить значение из состояния вашего компонента, вызвав setState по истечении времени ожидания. расширенный атрибут ref, который будет проходить через элемент при его создании, а не использовать селектор запросов, который должен будет проходить через весь DOM Но нет необходимости делать это в случае, представленном выше.

<h1 ref={(ref) => {this.h1Ref = ref}}>{this.state.text}</h1>

9
задан Doug Currie 13 November 2008 в 05:59
поделиться

3 ответа

Я пошел бы с тем же подходом как с файлами приложения: Сделайте для критических файлов и полного собственного раздела, свяжитесь с ними и копируйте раздел. Во всех Ваших init необходимо как сначала проверить, показывают ли ссылки все тому же разделу, в противном случае сбрасывают их (к разделу с файлами с новейшей датой определенного файла). Если Вы хотите обновить, просто копируют все на новый раздел, и если все прекрасно (crcs хорошо) цикл по файлам и набору для каждого ссылка от одной файловой системы до другого.

Таким образом, Ваши критические файлы должны быть всегда быть в нормальном состоянии.

Сценарии:

  1. Обновление перестало работать при копировании файлов на новый раздел

    Никакая проблема, потому что ссылки показывают все еще старым рабочим.

  2. Обновление перестало работать при соединении

    Никакая проблема, потому что все новые файлы еще являются правильными и уже скопированные (шаг перессылки не имел бы, не запускается), установите проверку, корректную это

1
ответ дан 3 November 2019 в 07:14
поделиться

Если необходимо гарантировать надежность, у Вас может быть два раздела флэш-памяти (или даже микросхемы), один с текущей рабочей конфигурацией и один с новой конфигурацией. Затем используйте аппаратный сторожевой таймер, который сбросит единицу и переключает активный раздел флэш-памяти начальной загрузки на "последнюю известную хорошую" конфигурацию.

2
ответ дан 3 November 2019 в 07:14
поделиться

Иметь как минимум два раздела. Я бы предложил 4

  • загрузку

  • альтернативную загрузку

  • резервное копирование данных программы

  • энергозависимые данные программы

Использовать резервную загрузку grub для альтернативной загрузки в случае сбоя загрузки.

Таким образом, если обновление не удается, альтернативные работы.

НИКОГДА не обновляйте загрузчик. Если вы используете оборудование COTS, а основным диском был, скажем, Compact flash, вы могли бы иметь физически изолированную резервную копию, скажем, на небольшом USB-ключе.

2
ответ дан 3 November 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: