我对 React native 还很陌生。我在 App.js 文件中创建了一个抽屉导航器。
我的导航组件之一是名为LoginScreen的组件。
我试图将道具传递给LoginScreen以在用户导航到它时显示。
App.js(导航器)
const Tab = createMaterialBottomTabNavigator()
const Stack = createStackNavigator()
const Drawer = createDrawerNavigator()
export default class App extends Component {
constructor(props) {
super(props)
this.state = {
isAdmin: 'false',
checked: false,
}
}
async componentDidMount() {
try {
const adm = await AsyncStorage.getItem('is_admin')
if (adm == null) {
adm = await AsyncStorage.setItem('is_admin', 'false')
}
this.setState({ isAdmin: adm, checked: true })
} catch (error) {
console.log(error)
}
}
render() { …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用给定的密钥和 iV 简单地加密消息。我已经尝试了几个库来实现这一点,但 Expo 与其中任何一个都不兼容。我找不到 Expo 的任何加密库(支持 AES)。我想我的问题是:如何在运行 Expo 的 React Native 中加密数据
Ps : 我对expo-crypto不感兴趣
我对使用 Web3 还很陌生。
我正在尝试测试一个购买智能合约(ERC20 代币)的功能。我已经测试了这段代码,将以太币从一个钱包发送到另一个钱包,并且成功了。现在,每当我尝试与智能合约交互(发送签名交易来购买硬币)时,我都会收到此错误:
错误:事务已被 EVM 恢复:
这就是它在 etherscan rinkeby 上的显示方式
这是我的代码
var rawTx = {
nonce : nxn,
gasPrice: web3.utils.toHex(web3.utils.toWei('3000', 'gwei')),
gasLimit: '0x5208',
to: '0x40d3b2f06f198d2b789b823cdbecd1db78090d74',
value: web3.utils.toHex(web3.utils.toWei('0.002', "ether")),
data : '0x',
}
var tx = new Tx(rawTx,{chain:'rinkeby', hardfork: 'petersburg'});
tx.sign(privateKey);
var serializedTx = tx.serialize();
await web3.eth.sendSignedTransaction('0x' + serializedTx.toString('hex'))
.on('receipt', console.log);
Run Code Online (Sandbox Code Playgroud) 我刚开始反应原生。我试图在我的 App.js 中嵌套多个导航。我已经成功地在我的BottomTabNavigation 中嵌套了一个StackNavigator,有 0 个问题我通过将它们的初始路由组件设置为等于先前的导航器来链接这些导航器。我试图在那里添加一个DrawerNavigation但一直收到错误。我所有的代码都在 1 个文件中(App.js)。我将如何处理这个问题?
堆栈导航器
const navigator = createStackNavigator(
{
Home: {
screen: HomeScreen,
navigationOptions: {
headerShown: false,
},
},
Favs: {
screen: CrossingScreen,
navigationOptions: {
title: 'News',
headerTitleStyle: {
color: 'white',
},
headerStyle: {
backgroundColor: 'red',
},
headerBackTitle: null,
headerTintColor: 'white',
},
},
},
{
initialRouteName: 'Home',
headerMode: 'screen',
})
Run Code Online (Sandbox Code Playgroud)
底部标签导航器
const TabNavigator = createMaterialBottomTabNavigator(
{
Home: {
screen: navigator,
navigationOptions: {
tabBarLabel: 'Home',
tabBarIcon: ({ tintColor …Run Code Online (Sandbox Code Playgroud) 我试图用我创建的用户上下文包装我的导航器之一。我之前在其他项目中已经实现了这一点,但我遇到了一个问题。我尝试遵循此解决方案,但似乎与我遇到的问题不同。我不能确切地说出这里出了什么问题。
App.js 代码:
import React, { useContext, useEffect } from "react";
import { View, Text, AsyncStorage, Button } from "react-native";
import { createStackNavigator } from "@react-navigation/stack";
import HomeScreen from "./src/screens/HomeScreen";
import LoginScreen from "./src/screens/login";
import CalendarScreen from "./src/screens/Calendar";
import SignUpScreen from "./src/screens/signUp";
import { scale, vs } from "react-native-size-matters";
import { createDrawerNavigator } from "@react-navigation/drawer";
import { createMaterialBottomTabNavigator } from "@react-navigation/material-bottom-tabs";
import { Icon } from "react-native-elements";
import UserContext, { UserProvider } from "./src/screens/Context/UserContext";
import { NavigationContainer } …Run Code Online (Sandbox Code Playgroud) 我想编写一个程序,使用 python (cv2) 中的 openCV 来监视和跟踪 2 个不同视频中的对象。
我想将两个视频合并为 1 个视频,然后在该视频上运行一个程序来跟踪对象。
有人可以展示并解释合并它们背后的说明吗?
我这里的代码不起作用。在视频 1 的第一帧后启动视频 2
import cv2
capture = cv2.VideoCapture('p1a_tetris_1.mp4') #tell open cv to use the following video file as input
while capture.isOpened():
ret, frame = capture.read() #capture each frame from the video .
#ret is a boolean to indicate if the
if ret == True :
grayFrame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # apply gray frame to current frame
cv2.imshow('video Part 1', grayFrame) # shows video in grascale …Run Code Online (Sandbox Code Playgroud) 我使用 expo-location 来监控我的用户位置更新
功能Location.watchPositionAsync(options, callback)特别多。
它输出正确的位置,但没有将该输出设置为使用的状态setLocation
location返回以下内容:
Object {
"remove": [Function remove],
}
Run Code Online (Sandbox Code Playgroud)
setLocation并被location存储在上下文提供者中
我的代码如下:
应用程序.js
useEffect(() => {
console.log('hi')
_getLocationAsync = async () => {
let { status } = await Permissions.askAsync(Permissions.LOCATION)
if (status !== 'granted') {
console.log('debieeed')
}
let locations = await Location.watchPositionAsync({ accuracy: Location.Accuracy.Balanced, timeInterval: 10000, distanceInterval: 1 }, (loc) => setLocation(loc.coords));
console.log(locations)
}
_getLocationAsync()
}, [])
Run Code Online (Sandbox Code Playgroud) react-native ×5
expo ×3
javascript ×3
reactjs ×2
aes ×1
encryption ×1
ethereum ×1
geolocation ×1
node.js ×1
numpy ×1
opencv ×1
python ×1
react-props ×1
web3js ×1