Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 跨React组件实例存储状态的推荐方法?_Reactjs_Encapsulation_Instance Variables - Fatal编程技术网

Reactjs 跨React组件实例存储状态的推荐方法?

Reactjs 跨React组件实例存储状态的推荐方法?,reactjs,encapsulation,instance-variables,Reactjs,Encapsulation,Instance Variables,建议采用什么方法(如果有的话)跨React组件实例维护状态,同时仍将该状态封装在组件中,以便在组件外部无法访问 在使用CommonJS模块时,我当前的方法是在React createClass定义之外使用模块级变量 'use strict'; var React = require('react'); var mountCount = 0; var MyComponent = React.createClass({ getInitialState: function () {

建议采用什么方法(如果有的话)跨React组件实例维护状态,同时仍将该状态封装在组件中,以便在组件外部无法访问

在使用CommonJS模块时,我当前的方法是在React createClass定义之外使用模块级变量

'use strict';

var React = require('react');

var mountCount = 0;

var MyComponent = React.createClass({
    getInitialState: function () {
        return {
            instanceNumber: mountCount
        };
    },

    componentDidMount: function () {
        mountCount++;
    },

    render: function () {
        return <div>I am instance no. {{this.state.instanceNumber}}.</div>;
    }
});

module.exports = MyComponent;
“严格使用”;
var React=要求('React');
var-mountCount=0;
var MyComponent=React.createClass({
getInitialState:函数(){
返回{
instanceNumber:mountCount
};
},
componentDidMount:函数(){
mountCount++;
},
渲染:函数(){
返回我是实例号{{this.state.instanceNumber}}。;
}
});
module.exports=MyComponent;

这是推荐的吗?如果没有,为什么没有,你会建议做什么呢?

没有推荐的方法;你所做的看起来很棒。

没有推荐的方法;你所做的看起来很棒