簡體   English   中英

React應用程序中的數據流

[英]data flow in react application

我目前正在學習反應,並且遇到了從組件中精心提取狀態的問題。

基本上,我有一些組件,這些組件包含表單和其他輸入,我需要這些數據和我的業務邏輯中的數據,我需要的數據與組件的狀態耦合在一起。 據我了解,數據應該具有單向流,但我想不出如何使數據流回到業務邏輯。 我可以制作一些調用各自函數的接口函數,但是我認為這會違反單向流程。

有一些例子的任何幫助將不勝感激!

通常,您將回調從父組件傳遞到子組件作為道具。 當狀態在任何子組件中更改時,它將調用該回調並傳遞每種用例中適當的任何數據。 然后,“ controller-view”(實現實際回調的根組件)會根據當前狀態執行您需要的任何業務邏輯,然后相應地更新其狀態(導致從該組件向下重新渲染組件樹)。 閱讀有關組件通信的文檔。

像這樣:

var Child = React.createClass({
    onTextChange: function() {
         var val = 13; // somehow calculate new value
         this.props.onTextChange(val);
    },
    render: function() {
        return <input type="text" value={this.props.val} onChange={this.onTextChange} />
    }
});

var Parent = React.createClass({
    onTextChange: function(val) {
         var newVal = someBusinessLogic(val);
         this.setState({val: newVal});
    },
    render: function() {
        return <Child onTextChange={this.onTextChange} val={this.state.val} />
    }
});

在React中使用數據流的最好方法是使用Flux模式。 您需要一些時間來了解它的工作原理,但是隨着項目的發展,它將使您的生活變得更加輕松。 請看一些Flux教程,例如本教程(使用Alt流量實現): https : //reactjsnews.com/getting-started-with-flux/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM