Какая версия redux / response-redux работает с реакцией v0.14.9, установленной через bower? - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь добавить в редуксе существующий проект sailsjs v0.12, не обновляя каждый пакет в гигантской куче.Текущий реактив загружается через bower, а файл .bower.json для реагирования:

{
  "name": "react",
  "main": [
    "react.js",
    "react-dom.js"
  ],
  "ignore": [],
  "homepage": "https://github.com/facebook/react-bower",
  "version": "0.14.9",
  "_release": "0.14.9",
  "_resolution": {
    "type": "version",
    "tag": "v0.14.9",
    "commit": "81ae9f4ab02851be30ce2b1eef3dfd78d291cfc8"
  },
  "_source": "https://github.com/facebook/react-bower.git",
  "_target": "~0.14.7",
  "_originalSource": "react"
}

Я пытаюсь выяснить, с какими версиями реактив-редукс и редукс можно загружать через бауэр для работысуществующая версия реакции и где их взять, кажется, есть куча разных исходников и сборок - нужно просто установить определенные (но какие?) версии через npm и скопировать их в папку bower_components?Проект автоматически загружает все в этой папке.

Обновление: мы скопировали версию 3.0.4 (с помощью cdnjs) redux и версию 4.4.0 response-redux в папку bower_components.В один из файлов jsx вверху я включаю такие вещи:

requirejs.config({
  urlArgs: "v=" + ssweb.buildNumber,
  paths: {
    'react': '/bower_components/react/react-with-addons.min',
    'reactdom': '/bower_components/react/react-dom.min',
    'label': '/js/shared/reactLabel',
    'moment': '/bower_components/moment/moment',
    'redux': '/bower_components/redux/index',
    'reactRedux': '/bower_components/react-redux/dist/react-redux.min',
    'rootReducer': '/js/reducers/rootReducer',
  },
   shim: {    
     'reactRedux': ["react", "redux"]
   }
});




require(['react', 'label', 'moment', 'reactdom', 'redux' ,'reactRedux','rootReducer'], 
  function (React, Label, moment, ReactDOM, Redux, ReactRedux, rootReducer) {

    var createStore = Redux.createStore;
    var con =  ReactRedux.connect;
    console.log("rootReducer ", rootReducer);
    const store = createStore(rootReducer);
    const Provider  = ReactRedux.Provider;
    console.log("Provider  ", Provider);
    console.log("store ",store);           
    console.log("con  ", con);
    console.log("rootReducer ", rootReducer);

    class PCycle extends React.Component {
       ...
       render(){ 
            const measUnit = this.state.measUnit;
            return (
                <Provider store={store}>...extra stuff</Provider>
            );
        }
    }

    $(function () {
        ReactDOM.render(<PCycle avariable={window.theVariable} />, document.getElementById('p_container') );
    });
});

И это, кажется, начало, так как объекты избыточности выводятся на консоль.Теперь я хочу, чтобы понравится мои компоненты.В коде, который я видел в примере проекта «Реакция / редукция» (с помощью net ninja на youtube) с использованием ES6, он выглядит следующим образом:

const mapStateToProps = (state, ownProps)=>{
  let id = parseInt(ownProps.match.params.post_id);
  return{
    post: state.posts.find(item => item.id === id)
  }
}

const mapDispatchToProps = (dispatch)=>{
  return {
    deletePost: (id) => {
      return dispatch(deletePost(id))
    }
  } 
}

export default connect(mapStateToProps,mapDispatchToProps)(Post);

Итак, мой вопрос сейчас: как мне выполнить эту последнюю часть вмой код, в котором я не импортирую вещи, но использую функции самовызова, содержащиеся в других функциях самовоспроизведения.

У меня есть страница .ejs, на которой сосуществуют 5 различных компонентов, каждый из которых выполнен, как указано выше, как PCycle.jsx, и я хочу, чтобы они совместно использовали одно и то же хранилище резервов, чтобы обновление в одном компоненте могло повлиять на состояниедругой.Они включены на страницу .ejs с тегами скрипта.

...