Рэдекс и веб-пакет и сплитчанк - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть два компонента, в основном подобные этим:

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from "react-redux";

import gommeStore from "../stores/gomme-store.js";

import { Cart } from './cart/cart.jsx';

if (document.getElementById('cart-full')) {
  ReactDOM.render(
    <Provider store={gommeStore}>
      <Cart />
    </Provider>,
    document.getElementById('cart-full')
  );
}

и этот

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from "react-redux";

import gommeStore from "../stores/gomme-store.js";

import { Cart } from './cart/NavBar.jsx';

if (document.getElementById('cart-full')) {
  ReactDOM.render(
    <Provider store={gommeStore}>
      <NavBar />
    </Provider>,
    document.getElementById('cart-full')
  );
}

второй компонент находится в нескольких точках входа в моем webpack.config, скажем, это выглядит так:

module.exports = {
  entry: {
    'global': [
      './reactjs/scripts/app.js',
      './reactjs/scripts/navbar.js',
    ],
    'cart': [
      './reactjs/scripts/app-cart.js',
      './reactjs/scripts/navbar.js'
    ],
    'tires': [
      './reactjs/scripts/app-tires.js',
      './reactjs/scripts/navbar.js'
    ]
  },
  output: {
    filename: '[name].js',
    path: path.join(__dirname, "/wwwroot/js/")
  },
  optimization: {
    splitChunks: {
      cacheGroups: {
        commons: {
          name: 'commons',
          chunks: 'initial',
          minChunks: 2
        }
      }
    }
  },

с этой конфигурацией компонент NavBar заканчивается в блоке common.js, а последствием является разделенное / отключенное состояние , означающее Cart компонента и NavBar компонент не использует одно и то же состояние избыточности.

Если я изменю мои исходные файлы так, чтобы компонент NavBar заканчивался в одном и том же фрагменте с компонентом Cart, они оба находились в одном и том же состоянии избыточности.

Это так и должно быть?

Я что-то не так делаю?

Заранее благодарен за любую помощь!

...