2017-11-09 18 views
2

私のアプリケーション(Reactで作成されたUI)のインストール中に、テキストフィールドにいくつかの仕様を指定するオプションがあります(メモリに割り当てるメモリ量、等。)。それはそうのような(デフォルト値が使用されます)インストールのオプション部分で、スキップすることができます:1つのjsファイルから別のjsファイルにユーザー入力を渡す方法

<div> 
Memory size (MB): <TextField type="text" placeholder="4096" name="memory"/> 
</div> 

この情報は別のファイルに関数のパラメータとして使用する必要があります

export function createMachine(callback, size = 22000, mem = 6000) { } 

私の質問はどうすればユーザの入力を受け入れるのですかユーザがそれを提供し、それを私のcreateMachine関数(サイズとmem引数)の引数として使用し、そうでない場合はデフォルトの引数をそのままにします。ユーザーが指定したくない場合は、テキストフィールドのあるページには表示されません)。

+0

単純 'のonChange = {メモリ=> this.setState({メモリ})}'仕事を得るだろう:コンポーネント・レベル状態に

、そうような関数またはメソッドで使用することができ。 – teivaz

答えて

1

これは、コンポーネントレベルか、レビュックスのアプリレベルかにかかわらず、状態のように見えます。

class MyComponent extends React.Component { 
    state = { myInput: '' }; 

    myMethod =() => { 
    createMachine(this.state.myInput); 
    }; 

    render() { 
    return (
     <div> 
     Memory size (MB): 
     <TextField 
      type="text" 
      placeholder="4096" 
      value={this.state.myInput} // This makes it a controlled input 
      name="memory" 
      onChangeText={(text) => this.setState(state => ({ ...state, myInput: text }))} 
     /> 
     </div> 
    ) 
    } 
} 
関連する問題