Reactjs 哪个版本的redux/react redux与通过bower安装的react v0.14.9一起工作?
我正在尝试将redux添加到一个现有的sailsjs v0.12项目中,而无需更新庞大堆中的每个包。当前react内容通过bower加载,react的.bower.json文件为:Reactjs 哪个版本的redux/react redux与通过bower安装的react v0.14.9一起工作?,reactjs,redux,react-redux,bower,Reactjs,Redux,React Redux,Bower,我正在尝试将redux添加到一个现有的sailsjs v0.12项目中,而无需更新庞大堆中的每个包。当前react内容通过bower加载,react的.bower.json文件为: { "name": "react", "main": [ "react.js", "react-dom.js" ], "ignore": [], "homepage": "https://github.com/facebook/react-bower", "version":
{
"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"
}
我正在试图弄清楚我可以通过bower加载哪些版本的react-redux和redux来使用现有的react版本,以及从哪里获取它们,似乎有很多不同的源代码和版本-我应该通过npm安装某些(但哪些?)版本并将其复制到bower_components文件夹中吗?项目将自动加载该文件夹下的所有内容
更新:
我们复制了redux版本3.0.4(通过cdnjs),并将react redux版本4.4.0复制到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') );
});
});
所以我现在的问题是:我如何做代码的最后一部分,我不导入东西,而是使用其他自调用函数中包含的自调用函数
我有一个.ejs页面,上面有5个不同的组件——每个组件都像上面的PCycle.jsx一样——共存,我希望它们共享同一个redux存储,这样一个组件中的更新可以影响另一个组件的状态。它们包含在带有脚本标记的.ejs页面上
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);