在plotly商店组件中使用什么“ modified_timestamp”

时间:2019-04-25 18:41:04

标签: plotly store plotly-dash

我正在阅读有关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 个答案:

答案 0 :(得分:1)

在您共享的文档页面上:

  

获取初始商店数据

     

如果使用数据道具作为输出,则无法在加载数据道具时获得初始数据。为了解决这个问题,您可以将modified_timestamp用作输入,将数据用作State。

     

此限制是由于最初的None回调阻止了请求队列中的真实数据回调。

     

有关进一步的讨论,请参见https://github.com/plotly/dash-renderer/pull/81