小编agd*_*dev的帖子

React - 如何将状态传递给另一个组件

我试图弄清楚如何通知另一个组件有关状态更改.假设我有3个组件 - App.jsx,Header.jsx和SidebarPush.jsx,我只是想做的就是用onClick切换一个类.

因此,单击时Header.jsx文件将有2个按钮将状态切换为true或false.其他2个组件App.jsx和Header.jsx将需要了解这些状态更改,以便只要这些状态发生更改,它们就可以切换类.

App.jsx

import React from 'react';
import Header from 'Header';
import classNames from "classnames";
import SidebarPush from 'SidebarPush';
import PageWrapper from 'PageWrapper';

var MainWrapper = React.createClass({
    render: function() {
        return (
            <div className={classNames({ 'wrapper': false, 'SidebarPush-collapsed': !this.state.sidbarPushCollapsed })}>
                <Header/>
                <SidebarPush/>
                <PageWrapper>
                {this.props.children}
                </PageWrapper>
            </div>
        );
    }
});

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

Header.jsx

import React from 'react';
import ReactDom from 'react-dom';


class Header extends React.Component {
    constructor() {
        super();
        this.state = {
            sidbarPushCollapsed: false,
            profileCollapsed: false
        };
        this.handleClick = …
Run Code Online (Sandbox Code Playgroud)

components state reactjs

34
推荐指数
1
解决办法
8万
查看次数

使用 RxJS Observable 流式传输 JSON

我试图了解一些关于 RxJs 的事情。我想要做的是使用一些 JSON 数据,并在数据传入时立即开始在 DOM 上呈现该数据。我已经设置了流请求、响应和显示。它输出每一个都很好,但它是一次性完成的,而不是随着时间的推移。

我想开始在页面上显示数据,而不是等待整个文件完成然后立即显示,这会造成很长的等待时间。

//Cache the selector
var $resultList = $('.results');

//Gets the JSON (this will not be a static file,just for testing)
var requestStream = Rx.Observable.just("/results.json");

var responseStream = requestStream
    .flatMap(function(requestUrl) {
            return Rx.Observable.fromPromise(jQuery.getJSON(requestUrl))
             });

var displayStream = responseStream.subscribe(
    function(response) {
    //This maps to a Handlebars Template and puts it on the DOM
    $resultList.html(compiledTemplate(response)); 
            },
            function(err) {
                    console.log('Error: %s', err);
             },
             function() {
                    console.log('Completed');
             });




//Sample of the data from the JSON file
Object{
    beginIndex: …
Run Code Online (Sandbox Code Playgroud)

javascript json rxjs reactivex

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

标签 统计

components ×1

javascript ×1

json ×1

reactivex ×1

reactjs ×1

rxjs ×1

state ×1