首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React - Empty下拉列表

React - Empty下拉列表
EN

Stack Overflow用户
提问于 2020-06-12 14:13:20
回答 1查看 121关注 0票数 0

我在一个项目中工作,在这个项目中,我试图使用一个对象数组来设置下拉列表的选项,这些对象是从对API的请求中获得的。问题是,当编译程序时,它不会抛出任何选项。

下面是我的代码:

代码语言:javascript
复制
import { Dropdown } from 'semantic-ui-react';

type formProps = {
    funcionCierre: any
    carrera: any;
    nombre1: any;
}

const Estudiantes: React.FC<formProps> = (props: formProps) => {

    const [area, setArea] = useState<any[]>([]);
    const [areaSeleccionada, setAreaSeleccionada] = useState(0);

    useEffect(() => {
        console.log(props.carrera);
        axios.get('http://localhost:8003/skill?carrera_id=' + props.carrera + '&tipo_id=1')
            .then(result => {
                setArea(result.data);
            }

            ).catch(error => {
                console.log(error);
            });

    }, [area.length]);


    const actualizarAreaSelect = (e: any) => {
        setAreaSeleccionada(e.target.value)
        console.log(areaSeleccionada);
    }

    return (
               <Dropdown
                 placeholder='Area'
                 options={area.map(ar => ({
                 key: ar.skil_id,
                 value: ar.skill_id,
                 text: ar.nombre
                 }))}
                 onChange={actualizarAreaSelect}
                />

    );
}

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-12 14:26:12

如果从API调用的结果中设置了area,则不应该在useEffect的第二个参数中包含[area.length]

代码语言:javascript
复制
    useEffect(() => {
        console.log(props.carrera);
        axios.get('http://localhost:8003/skill?carrera_id=' + props.carrera + '&tipo_id=1')
            .then(result => {
                setArea(result.data);
            }

            ).catch(error => {
                console.log(error);
            });

    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62338536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档