通常在传递道具时,会做类似的事情:
var MyClass = require('./MyClass.js');
<MyClass Prop1={prop1} Prop2={prop2} />
然后可以在子组件的this.props
范围内使用它们。
如果我有一个只有静态函数的辅助类。我如何将道具传递给班级?声明只是
var MyHelperClass = require('./MyHelperClass.js');
内容类似于
var MyHelperClass = React.createClass({
getInitialState: function(){
return null;
},
statics: {
functionOne: function(string){
var returnObject = {};
// do something with this.props..
return returnObject;
},
},
render: function() {}
});
现在我已经创建了一个initalise函数,我在componentDidMount中调用它将所有数据和函数引用传递给HelperClass,但我很好奇。
答案 0 :(得分:0)
如果MyHelperClass
只是存储静态函数而不呈现任何内容,那么基本上可以为它们创建自己的store
。
以下是我打包API调用的方法:
var api = {
getAllPosts: function(token, daysAgo) {
daysAgo = daysAgo || 0;
var requestObj = {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token,
'Host': 'api.producthunt.com'
}
};
return fetch('https://api.producthunt.com/v1/posts?days_ago=' + daysAgo, requestObj)
.then(function(res) {
return res.json();
})
},
}
它位于api.js
文件中,仅包含该对象。我也在最后调用module.exports = api
,并在需要它的任何组件中调用require
。在这些组件中,我可以调用类似api.getAllPosts(this.state.token, this.state.daysAgo)
之类的东西,然后随意传递我的状态/道具。