javascript - 如何将用户输入从一个js文件传递到另一个

标签 javascript node.js reactjs electron

在我的应用程序(使用 React 创建的 UI)的安装过程中,用户可以选择在文本字段中指定一些规范(分配给虚拟机的内存量等)。它是安装的可选部分,可以跳过(将使用默认值),如下所示:

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

此信息需要用作不同文件中函数的参数:

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

所以我的问题是如何获取用户输入如果用户提供它并将其用作我的createMachine 函数中的参数(size 和 mem 参数)如果他们选择不保留默认参数(如果用户不想指定,他们将不会被带到带有文本字段的页面)?

最佳答案

这看起来像是状态的情况,无论是组件级别还是带有 redux 的应用级别。

对于组件级状态,您可以将它与函数或方法一起使用,如下所示:

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>
    )
  }
}

关于javascript - 如何将用户输入从一个js文件传递到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47210508/

相关文章:

javascript - 在 Node js中提交表单后无法加载CSS文件

javascript - React - 不使用回调中设置的 props 表达式重新渲染的子组件数组

reactjs - React 16 类型 'DetailedHTMLProps, HTMLDivElement>' 上不存在属性

javascript - 为什么使用 this.get ('serviceName' ) 而不是 this.serviceName?

javascript - TinyMCE:如何在一行中显示所有工具栏?

javascript - 将 Vue 与 Django 一起使用

javascript - 我怎样才能使 npm Jest 脚本跨平台而不显得疯狂?

node.js - Rally API 将标签添加到现有用户故事 NodeJS

javascript - React/Redux 如何传递参数来修改 API

javascript - 字符串 chop 早于应有的 chop