小编Fer*_*tel的帖子

世博相机第一次显示黑屏:React-Native

我创建了一个项目,expo-camera点击按钮打开相机。但是,当我第一次单击该按钮时,仅呈现黑屏,重新打开屏幕并单击同一按钮后,相机 UI 会在屏幕上呈现。


问题

我不知道为什么它首先显示黑屏。该问题仅存在于 android 设备中。

链接到 Expo Snack在 android 设备上试试这个例子。

import React, { useState, useEffect, useContext } from 'react';
import {
  SafeAreaView,
  View,
  Text,
  Dimensions,
  ImageBackground,
  Image,
  Alert,
} from 'react-native';
import { Camera } from 'expo-camera';
import { Entypo, Ionicons, FontAwesome } from '@expo/vector-icons';
import { Surface, Button, TextInput } from 'react-native-paper';

const { width, height } = Dimensions.get('window');

let cameraRef;

const PickImage = ({ navigation }) => {
  const [hasPermission, setHasPermission] = useState(null); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native expo expo-camera

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

UnhandledPromiseRejectionWarning: TypeError: place.toObject 不是函数

在这里,我尝试使用 userId 获取用户创建的地点。这是用户模型和地点模型,在控制器中,我编写了通过 userId 获取地点的逻辑。不幸的是,我在 res.json({}) 方法中发送响应时收到错误“UnhandledPromiseRejectionWarning: TypeError: place.toObject is not a function”。

放置模型

const mongoose = require('mongoose');

const Schema = mongoose.Schema;


const placeSchema = new Schema({
    title: { type: String, required: true },
    description: { type: String, required: true },
    image: { type: String, required: true },
    address: { type: String, required: true },
    location: {
        lat: { type: Number, required: true },
        lng: { type: Number, required: true },
    },
    creator: { type: mongoose.Types.ObjectId, required: true, ref: 'User'} …
Run Code Online (Sandbox Code Playgroud)

database mongoose mongodb node.js mongoose-schema

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

反应不使用带有对象数组的 setState 更新状态

我想创建下图所示的这个表。当单击编辑按钮时,它应该更改为文本字段并按下确认按钮,它应该再次转换为 tr td 标签。
在此处输入图片说明
这是我的代码。我创建了对象数组,其中包含 id 属性、name 属性和 value 属性。单击编辑按钮时,它应更改为文本字段,单击确认按钮时,文本字段的值应在对象数组中更新。

import React, { useState } from "react";
import style from "./css/Register.module.css";
import { Table, Button, Icon, TextInput } from "react-materialize";

const ManipulateRegister = () => {
  const [RegisterData, setRegisterData] = useState([
    {
      id: 0,
      name: "W Register",
      value: 0,
      isEdit: false,
    },
    {
      id: 1,
      name: "Z Register",
      value: 0,
      isEdit: false,
    },
    {
      id: 2,
      name: "B Register",
      value: 0,
      isEdit: false,
    },
    {
      id: 3,
      name: "C Register", …
Run Code Online (Sandbox Code Playgroud)

javascript arrays reactjs

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

TextInput 在反应本机中隐藏在键盘后面

我正在 React Native 中创建聊天 UI,其中我希望第一部分(显示消息的地方)应该是可滚动的。

TextInput位于屏幕底部,键盘应位于其后面。

用户界面类似于 WhatsApp 聊天屏幕。但我无法重新创建该用户界面。

我也尝试KeyboardAvoidingViewreact-native,但它对我来说不起作用。

应用程序.js

import React, { useEffect, useState } from "react";
import {
  ScrollView,
  View,
  Text,
  Alert,
  Dimensions,
  Platform,
  KeyboardAvoidingView,
  TextInput,
  TouchableOpacity,
} from "react-native";

import { Ionicons } from "@expo/vector-icons";

const App = () => {
  const [message, setMessage] = useState([]);

  
  return (
    <View
      style={{
        display: "flex",
        flex: 1,
        justifyContent: "space-evenly",
        alignItems: "center",
        height: Dimensions.get("window").height,
        width: Dimensions.get("window").width,
      }}
    >
      <View
        style={{
          height: Dimensions.get("window").height * 0.8, …
Run Code Online (Sandbox Code Playgroud)

user-interface textinput react-native expo

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