小编jam*_*mal的帖子

在React中,我如何遍历整个渲染树,而不仅仅是“孩子”

我有兴趣遍历 React 中的整个组件树。

假设我有一个组件:

class Child extends Component {
    //...
    render() {
        return <div>
            <span>Not reachable</span>
        </div>
    }
}

class Parent extends Component {
    //...
    traverse(children) {
        console.log(children);
        React.Children.map(this.traverse);
    }
    render() {
        this.traverse(this.props.children);
        return <div>{this.props.children}</div>
    }
}

class Container extends Component {
    //...
    render() {
        return <Parent>
            <Child />
        </Parent>
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够访问“不可访问”跨度,但React.Children.map仅遍历字面写的“子级”,而不是组件内部子级。

有什么方法可以访问遍历函数中的那些吗?

reactjs

5
推荐指数
1
解决办法
2013
查看次数

如何管道到另一个require模块中的对象

我在模块中有一个scrollview,它加载从其他模块返回的视图.

包含scrollview的模块:

define(function(require, exports, module) {
    var View = require('famous/core/View');
    var Utility = require('famous/utilities/Utility');
    var Scrollview = require('famous/views/Scrollview');
    var HomeView = require('views/HomeView');
    var DescriptionView = require('views/DescriptionView');

    var paginationView = new Scrollview({
        direction: Utility.Direction.X
    });

    var AppViews = [
        HomeView,
        DescriptionView
    ];

    paginationView.sequenceFrom(AppViews);

    module.exports = paginationView;
});
Run Code Online (Sandbox Code Playgroud)

这是模块代码

define(function(require, exports, module) {
    var View = require('famous/core/View');
    var Surface = require('famous/core/Surface');
    var FlexScrollView = require('famous-flex/FlexScrollView');
    var MainView = require('views/MainView');
    var EventHandler = require('famous/core/EventHandler');

    function HomeView() {
        View.apply(this, arguments);
    }

    HomeView.prototype = Object.create(View.prototype); …
Run Code Online (Sandbox Code Playgroud)

famo.us

1
推荐指数
1
解决办法
61
查看次数

标签 统计

famo.us ×1

reactjs ×1