小编Deb*_*Sen的帖子

React Native 中的本机模块:函数返回“未定义”

因此,我正在练习用 Java 制作本机模块,这些模块可以将函数暴露给 React Native 的 JavaScript 代码。为此,我决定使用一个简单的演示数学库。我的代码如下。

MathOpsModule.java

package com.mb_rn_poc;

import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;

public class MathOpsModule extends ReactContextBaseJavaModule {

  @Override
  public String getName() {
    return "MathOps"; // Name of the Native Modules.
  }

  @ReactMethod
  public int add(int a, int b) {
    return (a + b);
  }
}
Run Code Online (Sandbox Code Playgroud)

MathOpsPackage.java

package com.mb_rn_poc;

import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class MathOpsPackage implements ReactPackage {

@Override
public List<ViewManager> createViewManagers(
  ReactApplicationContext reactContext
) { …
Run Code Online (Sandbox Code Playgroud)

java react-native native-module react-native-native-module

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

使用 React Router 重定向显示空白页面

我正在尝试构建一个简单的示例项目,其中用户在单击按钮后会使用 React 重定向到“联系”页面。我试图通过设置状态属性的值来实现这一点。当我运行我的代码时,它确实将浏览器地址栏 URL 更改为联系页面的 URL,但似乎并未实际加载该组件 - 我得到的是一个空白页面。如果我手动导航到该 URL ( http://localhost:3000/contact ),我可以看到内容。

这是我的App.jsContact.js文件 -

应用程序.js

import React, { Component } from 'react';
import { BrowserRouter as Router, Switch, Route, Link, Redirect } from 'react-router-dom';
import Contact from './Contact';

class App extends Component {
    state = {
        redirect: false
    }

    setRedirect = () => {
        this.setState({
            redirect: true
        })
    }

    renderRedirect = () => {
        if (this.state.redirect) {
            return <Redirect to='/contact' />
        }
    }

    render() {
        return …
Run Code Online (Sandbox Code Playgroud)

javascript redirect reactjs react-router react-dom

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

this.props.history.push() 似乎不再在 React Router v4 中工作,有什么替代方案吗?

我是 React 新手,我看到的大多数有关使用 React Router 进行重定向的教程似乎都在使用上述代码片段。我想要实现的目标是在成功登录后将用户重定向到我网站的主页。我尝试过history.push,但根据我的谷歌搜索,它不再在路由器v4中工作。我可以做什么作为替代方案?我对有状态和无状态解决方案持开放态度。

为了澄清这一点,这是工作流程 -

  1. 用户用他们的用户名填写文本框
  2. 用户用密码填写文本框
  3. 用户点击提交按钮
  4. 使用用户名和密码调用 API 来验证用户身份
  5. 登录成功API返回success
  6. 登录成功后,用户将被重定向到主页

redirect reactjs react-router react-router-v4

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