React:如何从导入的文件中为props添加新值?

时间:2018-06-12 07:15:24

标签: javascript reactjs

我(非常)是React的新手,并且已经被赋予了将一些数据添加到从另一个文件引入的组件的任务。这个文件吐出一些JSON,我想从中访问某些数据,例如:

config.forms.enquiry.title

我正在导入文件 - 没有问题。但我不确定如何将config纳入我的道具。

我在另一个文件中找到了一个工作示例,并复制了它的功能。我的代码是这样的

带有JSON的文件:

import { withSettings } from 'services/settingsFile';

在渲染功能中添加配置:

render () {
    const styles = getStyles(this.props, this.context, this.state);
    const { config } = this.props;
    // other stuff

添加到propTypes:

enquiryForm.propTypes = {
    config: PropTypes.object.isRequired,
    // other stuff

添加到撰写:

export const enquiryForm = compose(
    withSettings,
    // other stuff

然而,我收到错误:

  

上下文类型失败:上下文config被标记为必需   n,但其值为undefined

从这里我不知道该怎么做。我知道这是一个棘手的问题,但我对React知之甚少,并且被抛到了深处。

有人知道我应该寻找什么/在哪里解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

如果您可以像

那样导入它
import { withSettings } from 'services/settingsFile';

为什么不使用它,

const { config } = withSettings;

答案 1 :(得分:0)

好的,问题是没有包装元素设置config作为属性。

我必须上升到我的组件所在的位置并换行:

<SettingsFile config={window.settingsFile}>

周围:

<Component conf={config} />

然后,我正在处理的组件能够阅读config