小编Ty *_*ers的帖子

React-Native - TypeError:undefined 不是评估 useContext 的对象

useContext 在这里工作正常,屏幕更改之前的 console.log 按预期工作并为我提供用户对象(只需复制/粘贴相关信息以节省您的时间)

import React, { useContext, useState, useEffect } from "react";
import { AuthContext } from "./AuthProvider";

const Routes = () => {


const { user, setUser } = useContext(AuthContext);
  const [initializing, setInitializing] = useState(true);

  const onAuthStateChanged = (user) => {
    setUser(user);
    if (initializing) setInitializing(false);
  };

  useEffect(() => {
    const subscriber = auth().onAuthStateChanged(onAuthStateChanged);
    return subscriber; //unsub @ unmount
  }, []);

  if (initializing) {
    return null;
  }
  // console.log(user) //we have access to the user obj here w/out issues …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native firebase-authentication expo use-context

6
推荐指数
1
解决办法
3199
查看次数

数据库错误:“NullPointerException:尝试在空对象引用上调用虚拟方法 getApplicationInfo()...”

我正在构建一个简单的多活动列表应用程序来练习 SQLite。我试图从数据库中获取字符串以在listview启动时显示。我收到错误

\n\n
\n

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 \'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()\'

\n
\n\n

这是代码

\n\n
public class MainActivity extends AppCompatActivity {\n    SharedPreferences sharedPreferences;\n    ArrayList<String> listItem;\n    ArrayAdapter adapter;\n    ListView lv = (ListView) findViewById(R.id.list_view);\n    DatabaseHelper db = new DatabaseHelper(this);\n    Context context;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        Toolbar toolbar = findViewById(R.id.toolbar);\n        setSupportActionBar(toolbar);\n        listItem = new ArrayList<>();\n        viewData();\n        context = this;\n\n        FloatingActionButton fab = findViewById(R.id.fab);\n        fab.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View view) {\n                startActivity(new Intent(MainActivity.this, textInput.class));\n            }\n        });\n    }\n\n    // cast from …
Run Code Online (Sandbox Code Playgroud)

java database sqlite android listview

1
推荐指数
1
解决办法
8402
查看次数