【发布时间】:2021-04-06 05:20:53
【问题描述】:
我从后端获取一个数组或一个对象,我的任务是设置第一个索引均值 [0] 以设置为默认值,但是当我设置时我变得未定义,你可以在代码中看到 userL 获取我的对象数组,但是当我打印 userle 它显示 label: undefined value: undefined 或当我打印 userL 我' m 得到我的对象列表数组
const [userL, setUserL] = useState([]);
useEffect(() => {
axios
.get(`${DJANGO_SERVER_ADDRESS}/auth/analyst/`)
.then((res) => {
setUserL(res.data);
})
.then(
(result) => {
},
(error) => {
}
);
}, []);
console.log("ena1", userL);
const [userle, setUserle] = useState(
{ value: userL[0].username,
label: userL[0].username,
});
console.log("nnnnnnnnnuuuu",userle)
console.log('nnnnnnnnnnn',userL[0])
const handleSelectChangeL = (object, action) => {
setIndex(userL[object.id]);
setUserlevel(null);
console.log("select check", object.label, action.name, index);
let name = action.name;
let value = object.value;
setFormData((prevFormData) => ({
...prevFormData,
[name]: value,
}));
};
<Col lg={2}>
<label for="user">
<header>User</header>
</label>
<Select
options={userL.map((data, index) => ({
value: data.username,
label: data.username,
id: index,
}))}
styles={styles2}
value={userle}
name="user"
onChange={handleSelectChangeL}
placeholder="User"
theme={(theme) => ({
...theme,
colors: {
...theme.colors,
text: "black",
primary25: "#d6fdf7",
primary: "#0bb7a7",
primary50: "#d6fdf7",
},
})}
></Select>
</Col>
【问题讨论】:
-
请尝试包含Minimal, Complete, and Reproducible Code Example,以便我们为您尝试做的事情提供更多背景信息。
userL是什么?您何时何地尝试控制台记录这些值? -
立即添加
-
我读对了吗,
userL与userle在同一个组件中定义?如果是这样,那么 OFCuserL[0]将是未定义的,它还没有被填充。当userL更新时,使用useEffect钩子填充userle状态,或者在设置userL状态的同时设置它。
标签: javascript html reactjs