Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在使用Redux进行ExtReact中的第一次渲染之前从存储加载数据;_Javascript_Reactjs_Redux_React Redux_Extreact - Fatal编程技术网

Javascript 无法在使用Redux进行ExtReact中的第一次渲染之前从存储加载数据;

Javascript 无法在使用Redux进行ExtReact中的第一次渲染之前从存储加载数据;,javascript,reactjs,redux,react-redux,extreact,Javascript,Reactjs,Redux,React Redux,Extreact,在第一次渲染之前,我拥有要向其传递数据的组件。但我总是先得到一个空数组,然后在初始渲染后得到数据。我使用Redux操作和还原程序通过mapStateToProps传递数据 [这在这里解决]: 在我看来,我认为当您的DOM第一次加载时,而不是显示它首先设置状态的项 this.setState({usershortcuts:this.props.usershortcuts}) 然后是第二次加载,因为项目处于打开状态,即加载时。如果您可以调用在ComponentDidMount中获取项目的方法,而不是

在第一次渲染之前,我拥有要向其传递数据的组件。但我总是先得到一个空数组,然后在初始渲染后得到数据。我使用Redux操作和还原程序通过mapStateToProps传递数据

[这在这里解决]:


在我看来,我认为当您的DOM第一次加载时,而不是显示它首先设置状态的项

this.setState({usershortcuts:this.props.usershortcuts})


然后是第二次加载,因为项目处于打开状态,即加载时。如果您可以调用在ComponentDidMount中获取项目的方法,而不是设置状态,那么您的应用程序将正常工作

在我看来,我认为当DOM第一次加载时,它首先设置状态的不是显示项

this.setState({usershortcuts:this.props.usershortcuts})


然后是第二次加载,因为项目处于打开状态,即加载时。如果您可以调用在ComponentDidMount中获取项目的方法,而不是设置状态,那么您的应用程序将正常工作

您的
ShortcutComponent
是无状态的。它需要渲染的数据完全来自外部作为道具。另外,将整个菜单包装成一个按钮也很奇怪:

const ShortcutComponent = ({usershortcuts}) => (
    <Menu title="Shortcuts">
        {usershortcuts.map((item) => {
            <MenuItem iconCls={item.shortcutDefinition.iconCls} text={item.shortcutDefinition.description} />
        })}
    </Menu>
);

const mapStateToProps = ({usershortcuts}) => ({
    usershortcuts
});

const mapDispatchToProps = dispatch => ({
    actions: bindActionCreators(usershortcutAction, dispatch)
});

export connect(mapStateToProps, mapDispatchToProps)(ShortcutComponent);

您的
ShortcutComponent
是无状态的。它需要渲染的数据完全来自外部作为道具。另外,将整个菜单包装成一个按钮也很奇怪:

const ShortcutComponent = ({usershortcuts}) => (
    <Menu title="Shortcuts">
        {usershortcuts.map((item) => {
            <MenuItem iconCls={item.shortcutDefinition.iconCls} text={item.shortcutDefinition.description} />
        })}
    </Menu>
);

const mapStateToProps = ({usershortcuts}) => ({
    usershortcuts
});

const mapDispatchToProps = dispatch => ({
    actions: bindActionCreators(usershortcutAction, dispatch)
});

export connect(mapStateToProps, mapDispatchToProps)(ShortcutComponent);

我知道这一点,但我严格希望从操作加载存储。有什么想法吗?我知道,但我确实想从动作中加载存储。有什么想法吗?
store.load()
在您的操作中做什么?该对象来自哪里?另外,我找不到您实际调用
fetch()
执行网络请求的线路。你做过redux todo应用程序教程吗?这是extreact store,所以我不使用fetch,因为它是通过自动加载自动加载的:是的,我尝试了store.load()以增强加载部分的完成…你的操作中的
store.load()
做了什么?该对象来自哪里?另外,我找不到您实际调用
fetch()
执行网络请求的线路。你做过redux todo应用程序教程吗?这是extreact应用程序商店,所以我不使用fetch。它是通过自动加载自动加载的:是的,我尝试了store.load()以加强加载部分的完成。。。