Я пытаюсь добавить в редуксе существующий проект 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 с тегами скрипта.