для чего используется `ified_timestamp` в компоненте хранилища данных - PullRequest
0 голосов
/ 25 апреля 2019

Я читаю о первом примере на https://dash.plot.ly/dash-core-components/store

почему

@app.callback(Output('{}-clicks'.format(store), 'children'),
              [Input(store, 'modified_timestamp')],
              [State(store, 'data')])
def on_data(ts, data):
    if ts is None:
        raise PreventUpdate

    data = data or {}

    return data.get('clicks', 0)

вместо

@app.callback(Output('{}-clicks'.format(store), 'children'),
              [Input(store, 'data')])
def on_data(data):
    data = data or {}
    return data.get('clicks', 0)

Я не понимаю причину использования modified_timestamp.

1 Ответ

1 голос
/ 26 апреля 2019

Со страницы ваших документов:

Извлечение начальных данных магазина

Если вы используете реквизиты данных в качестве выходных данных, вы не сможете получить начальные данные при загрузке с реквизитами данных. Чтобы противостоять этому, вы можете использовать modified_timestamp в качестве Входных данных и данные в качестве State.

Это ограничение связано с первоначальными обратными вызовами None, блокирующими обратный вызов данных в очереди запросов.

См. https://github.com/plotly/dash-renderer/pull/81 для дальнейшего обсуждения.

...