在getEvaluation
函数中,我得到数字1,我想用以下值更改状态:
type Props = {
};
type State = {
id_evaluation: string,
};
class Evaluation extends Component < Props, State > {
state = {
id_evaluation: '1',
}
componentDidMount() {
const id_eval = getEvaluation();
this.setState({
id_evaluation: id_eval,
});
我现在检查了'console.log(typeof(id_eval)),是字符串。
流生成此错误:
无法调用绑定了对象常量的
this.setState
partialState
是因为null或undefined [1]与 字符串[2]。
答案 0 :(得分:0)
这个怎么样?
state = {
id_evaluation: 1,
};
const id_eval = getEvaluation();
this.setState({
id_evaluation: id_eval,
});
答案 1 :(得分:0)
尝试将function PreLoadAllImages() {
var images = new Array();
var numberofimages = 0, loadedimages = 0;
function preload() {
numberofimages = preload.arguments.length;
for (i = 0; i < preload.arguments.length; i++) {
images[i] = new Image();
images[i].src = preload.arguments[i];
images[i].onload = () => {
loadedimages++;
if(loadedimages == numberofimages){
alert("All images are loaded");
}
}
}
}
preload('Images/Image1.jpg', 'Images/Image2.jpg', ... , 'Images/Image300.jpg');
}
转换成这样的字符串。
id_eval
答案 2 :(得分:0)
getEvaluation()
函数的返回值有多种情况,数字类型,空类型或未定义类型,但是您的State
限制接受String
类型,这是错误的在编译阶段报告,您需要转换getEvaluation()
的返回值,例如使用String(id_eval)
。