2017-05-29 8 views
0

入力フィールドをフォーカスしてぼかすと、React/Redux/Redux-Formが文字列に自動的に変換する理由を特定しようとしています。NumberからPerlへのペイロードをぼかしで文字列に変換する

干渉しているプロセスがありますが、トラブルシューティングの方法がわかりません。

私は基本的に出力ReduxDevToolsクローム拡張を使用して試してみた:

type(pin): "@@redux-form/INITIALIZE" 
▶meta(pin) 
▶payload(pin) 
    Amount(pin): 2222 

type(pin): "@@redux-form/FOCUS" 
▶meta(pin) 

type(pin): "@@redux-form/BLUR" 
▶meta(pin) 
    touch(pin): true 
    payload(pin): "2222.00" 

答えて

0

あなたはReduxの形式を使用する必要がありますか? データの場合は、コンポーネントのコンテキスト内にとどまることができます。

import React, { Component } from 'react'; 
import wrapStateHelpers from 'react-state-helpers'; 

class Example extends Component { 
    render() { 
    const { mut, values: { someNumber } } = this.props; 
    return (
     <input 
     type='number' 
     value={someNumber} 
     onChange={mut('someNumber', parseInt)} /> 
    ); 
    } 
} 

export default wrapStateHelpers(Example); 

これは単なるコンポーネント・レベルの状態でフォームの状態を管理するイベントハンドラとラッピングコンポーネントを提供しています。ここでは

は、あなたがグローバルなアプリケーションの状態であなたのデータを必要としない提供される一つの選択肢でありますその状態を小道具内の valuesオブジェクトとしてコンポーネントに渡します。

parseIntmutに渡されていることに注意してください。入力フィールドは、ほぼ常に文字列を返す、とreact-state-helpersは、ここで

プロジェクト/ドキュメントへのリンクです(任意の関数とすることができるmutに2つ目のパラメータ)のデータ変換のためのAPIを提供し、この

0

この中に答えると症例は遡及的に痛いほど明白でした。私は.toFixed(2)を使用して値をフォーマットするのにnormalizeを使用していましたが、私にはわからず、常に文字列を返します。

関連する問題