React Native:是否有可能(/如何)将props传递给一类静态函数?

时间:2015-07-14 15:35:24

标签: react-native

通常在传递道具时,会做类似的事情:

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,但我很好奇。

1 个答案:

答案 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)之类的东西,然后随意传递我的状态/道具。