反应常见的配置文件中的所有组件

时间:2019-01-31 19:55:58

标签: reactjs

我有一个配置文件,其存储与例如APP_NAME,版本,records_per_page等应用程序的通用设置。

我想在所有组件中使用此设置。一种方法是将其导出到组件中,但是如果有20个组件,则必须将其导入所有组件中。

有没有办法避免这种情况,所以我只是有一次,某个地方的配置文件,我可以在任何组件访问它。

1 个答案:

答案 0 :(得分:0)

<强>的一种方法:

react context api reactjs.org/docs/context.html,这使组件可以“查看”变量,而不必每次都导入它们。

<强>第二种方式:

通过env在webpack中使用DefinePlugin变量:

webpack.cofig.js

const PACKAGE = require('package.json');

new webpack.DefinePlugin({
    VERSION: JSON.stringify(PACKAGE.version),
    IS_DEBUG_ENV: process.env.NODE_ENV === 'debug',
    SOME_VAR: true,
  }),

在某些组件中的用法:

import * as React from "react";

export class View extends React.Component {
  render() {

    return (
      <div>
        {SOME_VAR ? "hoooray" : ":("}
      </div>
    );
  }
}

请注意,没有SOME_VAR的导入