为什么 redux-form 不在提交函数中将选项字段的值作为 prop 传递?
Why doesn't redux-form pass in the value from an option field as prop in the submit function?
问题
我有 2 个简单的 redux 表单。
它们由类型为 text
.
的 title
和 subTitle
字段组成
两种形式之一使用另一种字段类型select
。
我传递了这样的选项:
<Field name="test" component="select">
<option value="test">test</option>
</Field>
所以我填写了表格并在控制台记录了这样的道具:
普通表单提交:
<Form onSubmit={handleSubmit(submitTopic)}>
运行的实际函数:
const submitTopic = props => {
console.log(props);
// dispatch(createTopic(test, topicTitle, topicSubTitle));
};
所以我希望看到标题是我在表单中输入的字符串,副标题是我输入的字符串。(适用于两种形式)
我还希望看到第三个 属性 称为 "test",其中字符串 "test" 作为第二种形式的值。
但实际上是undefined
代码
这是我的回购的link:
https://github.com/dhuber666/CodeHUB
发生这一切的文件在这里:
Admin.js 文件是我导入它和 运行 的地方。
我确保每个表单在使用 reduxForm
辅助方法时都是唯一的 identifier
。
在 Codesandbox 上测试的最小示例
https://codesandbox.io/s/w0mqnwqz9w
我在这里重新创建了应用程序,但只使用了最小值来测试它。
我在这里有同样的问题。我没有将选项值传递给道具。
道具的 console.log 在文件 Form
的第 10
行
感谢您的帮助!
它在您尝试 select 一个选项时起作用,当您直接提交而不 selecting 时它不起作用,因为在触发 onChange 事件之前该值最初是未定义的。
如果您想跳过它,您可以通过为 select.
创建包装器组件来提供默认值
问题
我有 2 个简单的 redux 表单。
它们由类型为 text
.
title
和 subTitle
字段组成
两种形式之一使用另一种字段类型select
。
我传递了这样的选项:
<Field name="test" component="select">
<option value="test">test</option>
</Field>
所以我填写了表格并在控制台记录了这样的道具:
普通表单提交:
<Form onSubmit={handleSubmit(submitTopic)}>
运行的实际函数:
const submitTopic = props => {
console.log(props);
// dispatch(createTopic(test, topicTitle, topicSubTitle));
};
所以我希望看到标题是我在表单中输入的字符串,副标题是我输入的字符串。(适用于两种形式) 我还希望看到第三个 属性 称为 "test",其中字符串 "test" 作为第二种形式的值。
但实际上是undefined
代码
这是我的回购的link:
https://github.com/dhuber666/CodeHUB
发生这一切的文件在这里:
Admin.js 文件是我导入它和 运行 的地方。
我确保每个表单在使用 reduxForm
辅助方法时都是唯一的 identifier
。
在 Codesandbox 上测试的最小示例
https://codesandbox.io/s/w0mqnwqz9w
我在这里重新创建了应用程序,但只使用了最小值来测试它。 我在这里有同样的问题。我没有将选项值传递给道具。
道具的 console.log 在文件 Form
的第 10
感谢您的帮助!
它在您尝试 select 一个选项时起作用,当您直接提交而不 selecting 时它不起作用,因为在触发 onChange 事件之前该值最初是未定义的。 如果您想跳过它,您可以通过为 select.
创建包装器组件来提供默认值