Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 以redux形式选择React_Reactjs_Redux Form_React Select - Fatal编程技术网

Reactjs 以redux形式选择React

Reactjs 以redux形式选择React,reactjs,redux-form,react-select,Reactjs,Redux Form,React Select,我是react redux新手,我想用react select创建一个下拉列表。我创建的下拉组件如下所示: import React, { PropTypes } from 'react'; import Select from 'react-select'; import 'react-select/dist/react-select.css'; const options = [ { value: 'one', label: 'One' }, { value: 'two',

我是react redux新手,我想用react select创建一个下拉列表。我创建的下拉组件如下所示:

import React, { PropTypes } from 'react';
import Select from 'react-select';
import 'react-select/dist/react-select.css';

const options = [
    { value: 'one', label: 'One' },
    { value: 'two', label: 'Two' }
];

const MyDropdown = ({ input }) => (
  <div>
    <Select
      {...input}
      value="one"
      options={options}
      multi={true}
      onBlur={() => {
        input.onBlur([...input.value]);
      }
    }
    />
  </div>
);

MyDropdown.propTypes = {
  input: PropTypes.string.isRequired
};

export default MyDropdown;
import React, { PropTypes } from 'react';
import Select from 'react-select';

const MyDropdown = ({ input, ...props }) => {
 const handleBlur = () => input.onBlur
 return (
   <div>
        <Select
          instanceId={input.name}
          {...input}
          {...props}
          onBlur={handleBlur}
        />
   </div>
 )
}
import React,{PropTypes}来自'React';
从“反应选择”导入选择;
导入“react-select/dist/react-select.css”;
常量选项=[
{值:'1',标签:'1'},
{值:'two',标签:'two'}
];
常量MyDropdown=({input})=>(
{
onBlur([…input.value]);
}
}
/>
);
MyDropdown.propTypes={
输入:PropTypes.string.isRequired
};
导出默认MyDropdown;
我在这里渲染

<Field
            id="status"
            name="status"
            component={MyDropdown}
          />


我的it给了我一个恼人的错误:“元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到:未定义”。发生了什么事?

在字段的表单中:

const options = [
    { value: 'one', label: 'One' },
    { value: 'two', label: 'Two' }
];

<Field
            id="status"
            name="status"
            component={MyDropdown}
            options={options}
            clearable={false}
          />
const选项=[
{值:'1',标签:'1'},
{值:'two',标签:'two'}
];
您的组件应该如下所示:

import React, { PropTypes } from 'react';
import Select from 'react-select';
import 'react-select/dist/react-select.css';

const options = [
    { value: 'one', label: 'One' },
    { value: 'two', label: 'Two' }
];

const MyDropdown = ({ input }) => (
  <div>
    <Select
      {...input}
      value="one"
      options={options}
      multi={true}
      onBlur={() => {
        input.onBlur([...input.value]);
      }
    }
    />
  </div>
);

MyDropdown.propTypes = {
  input: PropTypes.string.isRequired
};

export default MyDropdown;
import React, { PropTypes } from 'react';
import Select from 'react-select';

const MyDropdown = ({ input, ...props }) => {
 const handleBlur = () => input.onBlur
 return (
   <div>
        <Select
          instanceId={input.name}
          {...input}
          {...props}
          onBlur={handleBlur}
        />
   </div>
 )
}
import React,{PropTypes}来自'React';
从“反应选择”导入选择;
常量MyDropdown=({input,…props})=>{
const handleBlur=()=>input.onBlur
返回(
)
}

如果这不起作用,请检查传递给它的选项,并在MyDropdown组件中创建一个自定义方法,从传递的列表中生成选项,并将其作为道具传递给
。不过,这应该行。

字段从何而来?这是一个引导程序吗?字段正在从redux表单导入我们输入正确的已知值={input.value}您可以添加错误的完整堆栈跟踪吗?如何导入我的下拉列表?由于
MyDropdown
未定义,可能是导入的问题。您如何将值从字段向下传递到Select?这就是我目前遇到的问题:O?@Jamie Hutber options字段中的选项是传递给Select in My下拉组件的键值对列表。啊,所以您可以将值放入
选项中。。。。非常好,谢谢你,我的朋友!!