redux - 将 Prop 传递给 redux 初始状态

我想根据从 Home.js 获得的现有 Prop 在 reducer.js 中设置初始状态

我试图调用 home: this.props.homedata 来设置初始状态,但它不起作用。

import { COMMENT_SHOW, LIKE_SHOW, HOMEDATA_SHOW } from '../actions/types';

const INITIAL_STATE = {
    wallid: '',
    comment: '',
    like: '',
    home: this.props.homedata
};
export default (state = INITIAL_STATE, action) => {
........///////////
}

Reducer.js

当应用程序加载时,我想在家里获取与我在 homedata 状态下相同的数据

最佳答案

我认为不可能将 prop 传递给您的 reducer 。您可以做的是拥有一个数据集文件,比如 data.js,然后导出您的数据。将其导入到您的 reducer 文件中,并将其设置为您的初始数据。

import { COMMENT_SHOW, LIKE_SHOW, HOMEDATA_SHOW } from '../actions/types';
import { homeData } from 'path/to/data';

const INITIAL_STATE = {
    wallid: '',
    comment: '',
    like: '',
    home: homedata,
};
export default (state = INITIAL_STATE, action) => {
........///////////
}

如果您不希望在应用程序运行时修改示例数据。也许您需要它来重置您的家庭数据,您需要在将数据传递到您的初始状态之前克隆数据。

https://stackoverflow.com/questions/57224996/

相关文章:

python - 如何在 Django 的运行服务器中进行事后调试?

node.js - 当调用 Axios GET 并且 express 服务器发送 .json() 时

macos - 错误 : command 'gcc' failed with exit status

javascript - 无法让用 chrome 录制的音频 blob 在 safari 中工作

php - LinkedIn Share API 'ugcPosts' 响应 504 PHP 网关超

caching - Shopify 缓存 - 哪些操作导致清除缓存

python - AWS Lambda——无法为 SpaCy 导入 srsly.ujson.ujso

css - 自托管字体在 Gatsby 和 Safari 中不起作用

reactjs - react Hook : Idiomatic way to ensure tha

javascript - 我可以使用 jQuery globaleval 而不是 eval 来逃避内