Javascript 无法在使用Redux进行ExtReact中的第一次渲染之前从存储加载数据;
在第一次渲染之前,我拥有要向其传递数据的组件。但我总是先得到一个空数组,然后在初始渲染后得到数据。我使用Redux操作和还原程序通过mapStateToProps传递数据 [这在这里解决]: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中获取项目的方法,而不是
在我看来,我认为当您的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()以加强加载部分的完成。。。