为什么我不能在jsx中使用javascript?我只能使用像array.map或filter这样的东西。但是如果想要使用多个语句则不起作用。
import React, { Component } from 'react';
import { Text } from 'react-native';
export default class HelloWorldApp extends Component {
render() {
return (
{
let a = 5
if(a==5){return <Text>hello</Text>}
}
);
}
}
答案 0 :(得分:2)
尝试将您的逻辑放在return语句之外。我使用这种格式,我认为这是可以接受的。
export default class HelloWorldApp extends Component {
render() {
let a = 5;
return (
{(a === 5) &&
<Text>hello</Text>
}
);
}
}
还要注意三重相等,以避免类型凝聚。这可能不是您的目的所必需,但最佳做法!
答案 1 :(得分:0)
您可以如下使用此setTimeOut()函数:
setTimeout(() => {
if (pushToken!=null && deviceId!=null) {
console.log("pushToken & OS ");
this.setState({ pushToken: pushToken});
this.setState({ deviceId: deviceId });
console.log("pushToken & OS "+pushToken+"\n"+deviceId);
}
}, 1000);