我是一个React和React原生菜鸟,所以它可能是一个非常愚蠢的问题,但我如何在渲染函数中使用'for loop'来包含我的组件?这就是我做的
render() {
return (
<View style={styles.container}>
{ for (let i=0; i<20; i++)
{
//This is my component
<CounterButton />
}
}
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
但是它抛出了一个错误,然后有人建议在代码中包含代码并在render函数中调用它,所以我做了
createButtons() {
for (let i =0; i<20; i++){
<CounterButton />;
}
}
render() {
return (
<View style={styles.container}>
{this.createButtons()}
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
现在我没有看到错误,但它只是一个空白的屏幕.我知道你可以访问道具但是渲染函数应该主要只包含JSX代码吗?提前致谢.
我知道在Python中构建跨平台的唯一方法是Kivy,但我最近听说过Beeware项目和这个名为Toga的工具.据我所知,它仍处于早期阶段,很多人也不熟悉它,但网站上有一些基本的教程.它看起来非常有前途,但我不知道它的未来以及我可能会遇到的问题,如果我开始研究它,因为它可能有很多错误.我读过Toga允许您构建原生跨平台应用程序的文档,Kivy应用程序不是原生的吗?他们喜欢混合应用程序,就像你在Phonegap上构建的应用程序一样?谢谢
我的问题似乎类似于这个firebase_messaging onResume 和 onLaunch 不起作用但是我认为该解决方案对我不起作用,因为我已经在尝试访问数据属性中的字段。
当应用程序运行并且该部分工作正常时,我目前正在向用户显示推送通知。但是,我还想在应用程序处于后台时显示通知,并且当用户单击它时,应该会收到一条警报消息。
在 onResume 方法中,如果我这样做,它会起作用,当我打开通知时,我会看到控制台上打印的消息以及警报消息
onResume: (Map<String, dynamic> message) async {
print("onResume: $message");
Alert(context: context, title: 'Hi User!').show();
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试访问标题中的数据属性,我会看到控制台上打印的消息,但我现在看不到任何警报
onResume: (Map<String, dynamic> message) async {
print("onResume: $message");
Alert(context: context, title: message['data']['user']['name']).show();
}
Run Code Online (Sandbox Code Playgroud)
当应用程序在onMessage
属性中运行时,同一段代码有效,但是对于两者onLaunch
,onResume
我都看到了上述行为。以下是来自控制台的日志
W/awesome_projec(13005): Accessing hidden method Landroid/os/WorkSource;->add(I)Z (light greylist, reflection)
W/awesome_projec(13005): Accessing hidden method Landroid/os/WorkSource;->add(ILjava/lang/String;)Z (light greylist, reflection)
W/awesome_projec(13005): Accessing hidden method Landroid/os/WorkSource;->size()I (light greylist, reflection)
W/awesome_projec(13005): Accessing hidden method Landroid/os/WorkSource;->get(I)I (light greylist, reflection)
W/awesome_projec(13005): Accessing …
Run Code Online (Sandbox Code Playgroud) 目前我正在从文档页面运行 django-graphqljwt 的基本示例。https://django-graphql-jwt.domake.io/en/latest/quickstart.html
import graphene
import graphql_jwt
class Mutation(graphene.ObjectType):
token_auth = graphql_jwt.ObtainJSONWebToken.Field()
verify_token = graphql_jwt.Verify.Field()
refresh_token = graphql_jwt.Refresh.Field()
schema = graphene.Schema(mutation=Mutation)
Run Code Online (Sandbox Code Playgroud)
但是,如果我运行tokenAuth
突变,它会在GraphiQL
界面中抛出以下错误。请注意,如果我输入不正确的凭据,它会抛出一个“ Please enter valid credentials
”而不是下面的。
{
"errors": [
{
"message": "'str' object has no attribute 'decode'",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"tokenAuth"
]
}
],
"data": {
"tokenAuth": null
}
}
Run Code Online (Sandbox Code Playgroud) 我是 Flutter 和 Dart 的新手。所以我试图在 Flutter 中构建一个简单的身份验证系统。当用户打开应用程序时,我想向他们显示LoginScreen
(他们之前未登录的位置)或HomeScreen
登录时间。
loadWidget
,它返回一个Future
将确定是否存在持久数据,从而获取用户的信息并显示主屏幕。child 属性不允许我为其分配 Future,我不确定但我想我必须为此使用 FutureBuilder 小部件?
第一次尝试
Future<Widget> loadWidget() async{
SharedPreferences prefs = await SharedPreferences.getInstance();
// already logged in
String phone = prefs.getString('phoneNumber');
if (phone != null) {
helper.user = await checkUser(phone); // fetch user info
return HomeScreen();
}
// Not logged in
else {
return Login();
}
}
Run Code Online (Sandbox Code Playgroud)
对于构建功能,这不起作用
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: loadWidget(), // This does not allow me to …
Run Code Online (Sandbox Code Playgroud)