タグ付けされた質問 「state」

プログラムの実行における任意の時点でのメモリ位置の内容は、プログラムの状態と呼ばれます。

3
React.js、関数をトリガーする前にsetStateが完了するのを待ちますか?
これが私の状況です: this.handleFormSubmit()でthis.setState()を実行しています this.handleFormSubmit()内で、this.findRoutes();を呼び出しています。-this.setState()の正常な完了に依存します this.setState(); this.findRoutesが呼び出される前に完了しません... this.findRoutes()を呼び出す前に、this.handleFormSubmit()内のthis.setState()が完了するのを待つにはどうすればよいですか? 準ソリューション: this.findRoutes()をcomponentDidUpdate()に配置する findRoutes()関数とは関係のない状態の変化が多くなるため、これは受け入れられません。無関係な状態が更新されたときにfindRoutes()関数をトリガーしたくありません。 以下のコードスニペットをご覧ください。 handleFormSubmit: function(input){ // Form Input this.setState({ originId: input.originId, destinationId: input.destinationId, radius: input.radius, search: input.search }) this.findRoutes(); }, handleMapRender: function(map){ // Intialized Google Map directionsDisplay = new google.maps.DirectionsRenderer(); directionsService = new google.maps.DirectionsService(); this.setState({map: map}); placesService = new google.maps.places.PlacesService(map); directionsDisplay.setMap(map); }, findRoutes: …

6
ReactアプリのsetInterval
私はまだReactでかなり新しいですが、ゆっくりと作業を続けており、行き詰まっていることに遭遇しました。 私はReactで「タイマー」コンポーネントを構築しようとしていますが、正直に言うと、これが正しく(または効率的に)行われているかどうかわかりません。以下の私のコードでは、私は、オブジェクトを返すように状態を設定{ currentCount: 10 }し、いじるされているcomponentDidMount、componentWillUnmountと、render私は唯一の10から9に「カウントダウン」に状態を得ることができます。 2つの部分からなる質問:何が問題になっていますか?そして、(componentDidMount&を使用するよりも)setTimeoutを使用するより効率的な方法がありますcomponentWillUnmount)ますか? 前もって感謝します。 import React from 'react'; var Clock = React.createClass({ getInitialState: function() { return { currentCount: 10 }; }, componentDidMount: function() { this.countdown = setInterval(this.timer, 1000); }, componentWillUnmount: function() { clearInterval(this.countdown); }, timer: function() { this.setState({ currentCount: 10 }); }, render: function() { var displayCount …

9
状態を更新しないsetStateを反応させる
だから私はこれを持っています: let total = newDealersDeckTotal.reduce(function(a, b) { return a + b; }, 0); console.log(total, 'tittal'); //outputs correct total setTimeout(() => { this.setState({dealersOverallTotal: total}); }, 10); console.log(this.state.dealersOverallTotal, 'dealersOverallTotal1'); //outputs incorrect total newDealersDeckTotalは単なる数値の配列です。[1, 5, 9]たとえばthis.state.dealersOverallTotal、正しい合計は表示されませんが、表示されますtotalか?これで問題が解決するかどうかを確認するために、タイムアウト遅延を設定しました。明らかなことはありますか、それとももっとコードを投稿する必要がありますか?

6
HTMLボタン/送信の完全なスタイルを削除する
Internet Explorerのボタンのスタイルを完全に削除する方法はありますか?ボタンにcssスプライトを使用していますが、すべて問題ありません。 しかし、ボタンをクリックすると、少し上に移動し、形が崩れます。CSSクリック状態、またはマウスダウンはありますか?何がその状態を引き起こすのかわかりません。 それほど大したことではないことはわかっていますが、時には重要なのは小さなことです。

6
React-アンマウントされたコンポーネントのsetState()
私の反応コンポーネントでは、ajaxリクエストの進行中に単純なスピナーを実装しようとしています。ロードステータスを格納するために状態を使用しています。 何らかの理由で、以下のReactコンポーネントのコードはこのエラーをスローします マウントされたコンポーネントまたはマウントされたコンポーネントのみを更新できます。これは通常、マウントされていないコンポーネントでsetState()を呼び出したことを意味します。これはノーオペレーションです。未定義のコンポーネントのコードを確認してください。 最初のsetState呼び出しを取り除くと、エラーはなくなります。 constructor(props) { super(props); this.loadSearches = this.loadSearches.bind(this); this.state = { loading: false } } loadSearches() { this.setState({ loading: true, searches: [] }); console.log('Loading Searches..'); $.ajax({ url: this.props.source + '?projectId=' + this.props.projectId, dataType: 'json', crossDomain: true, success: function(data) { this.setState({ loading: false }); }.bind(this), error: function(xhr, status, err) …

1
Reduxは単にグローバルな状態を称賛しただけではありませんか?
そのため、1週間前にReactの学習を開始しましたが、必然的に状態の問題と、コンポーネントがアプリの他の部分とどのように通信するかという問題に直面しました。探し回ったところ、Reduxが今月の味のようです。私はすべてのドキュメントを読みましたが、実際にはかなり革新的なアイデアだと思います。これが私の考えです: 州は一般的にかなり邪悪であり、プログラミングのバグの大きな原因であることに同意しています。アプリ全体に分散させるのではなく、Reduxは、変更するアクションを発行する必要があるグローバル状態ツリーにすべてを集中させないのはなぜですか?面白そう。すべてのプログラムには状態が必要なので、1つの不純なスペースに貼り付け、そこからのみ変更して、バグを簡単に追跡できるようにします。次に、個々の状態の断片をReactコンポーネントに宣言的にバインドし、それらを自動再描画させることもできます。すべてが美しいです。 ただし、このデザイン全体について2つの質問があります。まず、状態ツリーが不変である必要があるのはなぜですか?タイムトラベルのデバッグやホットリロードは気にせず、アプリに元に戻す/やり直しをすでに実装しているとします。これをしなければならないのはとても面倒に思えます: case COMPLETE_TODO: return [ ...state.slice(0, action.index), Object.assign({}, state[action.index], { completed: true }), ...state.slice(action.index + 1) ]; これの代わりに: case COMPLETE_TODO: state[action.index].completed = true; 言うまでもなく、私は学ぶためだけにオンラインホワイトボードを作成しています。すべての状態変更は、コマンドリストにブラシストロークを追加するのと同じくらい簡単かもしれません。しばらくすると(数百のブラシストローク)、このアレイ全体を複製すると、非常に費用と時間がかかるようになる可能性があります。 アクションを介して変更されるUIから独立したグローバル状態ツリーで問題ありませんが、本当に不変である必要がありますか?このような単純な実装(非常にラフなドラフト。1分で記述)の何が問題になっていますか? var store = { items: [] }; export function getState() { return store; } export function addTodo(text) { store.items.push({ "text": text, "completed", false}); …

2
ハスケルの入れ子になった州
やや異なる種類の状態を持つ状態マシンのファミリーを定義しようとしています。特に、より「複雑な」状態機械には、より単純な状態機械の状態を組み合わせることによって形成される状態があります。 (これは、オブジェクトがオブジェクトでもあるいくつかの属性を持つオブジェクト指向の設定に似ています。) これが私が達成したいことの簡単な例です。 data InnerState = MkInnerState { _innerVal :: Int } data OuterState = MkOuterState { _outerTrigger :: Bool, _inner :: InnerState } innerStateFoo :: Monad m => StateT InnerState m Int innerStateFoo = do i <- _innerVal <$> get put $ MkInnerState (i + 1) return i outerStateFoo …

4
Common Lispのローカル状態
Common Lispの初心者の質問: 呼び出すたびに独自のローカルバインディングを持つ個別の手続き型オブジェクトを返すようにプロシージャを作成するにはどうすればよいですか?現在、letを使用してローカルステートを作成していますが、2つの関数呼び出しが同じローカルステートを共有しています。これがコードです (defun make-acc () (let ((balance 100)) (defun withdraw (amount) (setf balance (- balance amount)) (print balance)) (defun deposit (amount) (setf balance (+ balance amount)) (print balance)) (lambda (m) (cond ((equal m 'withdraw) (lambda (x) (withdraw x))) ((equal m 'deposit) (lambda (x) (deposit x))))))) ;; test (setf peter-acc …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.