使用通行props 进行亲子沟通似乎没有问题:

主页.网间网操作系统.js代码:

var OtherPage = require('./otherpage');
<OtherPage value={2}/>

然后在另一页.网间网操作系统.我可以利用这个变量.props .值,但如果我更新了其他页面上的值.网间网操作系统.js如何将其传回主页.网间网操作系统.js?

推荐答案

你可以传递一个回调,然后通过props 传递它,随着你的设置越来越高级,很可能会利用componentWillReceiveProps钩子.

如果你经常这样做,那么是的,你应该使用Flux或Redux或类似的工具.

import React, {
  Component,
  TouchableOpacity,
  Text,
} from 'react-native';


class Main extends Component {
  
  constructor() {
    super();
    this.state = {
      data: 'default'
    }
  }
  
  onChange = (data) => {
    console.log(`Data changes to ${data} !`);
    this.setState({ data });
  }
  
  render() {
    const { data } = this.state;
    return <Other data={data} onChange={this.onChange}></Other>;
  }
  
}

class Other extends Component {
  render() {
    const { data } = this.props;
    console.log(`Other Component Data is ${data}`);
    return (
      <TouchableOpacity onPress={() => {this.props.onChange('Success!')} }>
        <Text style={{fontSize: 30}}>{data}</Text>
      </TouchableOpacity>
    );
  }
}

此外,如果在知道辅助组件中不需要状态时使用静态组件,则可以构建更多可重用的功能组件:

class Main extends Component {
  
  constructor() {
    super();
    this.state = {
      data: 'default'
    }
  }
  
  onChange = (data) => {
    console.log(`Data changes to ${data} !`);
    this.setState({ data });
  }
  
  render() {
    const { data } = this.state;
    return <Other data={data} onChange={this.onChange}></Other>;
  }
  
}

const Other = ({ data, onChange }) => {
  return (
      <TouchableOpacity onPress={() => {onChange('Success!')} }>
        <Text style={{fontSize: 30}}>{data}</Text>
      </TouchableOpacity>
  );
}

EDIT现在你应该只使用功能组件和钩子,React网站上有很多关于这方面的文档,但 idea 是相似的:-)

React-native相关问答推荐

类似Snapchat的Reaction Native筛选器

FlatList 总是增长到 100% 高度

将值从一个 js 文件传递​​到 react native 中的另一个 js 文件:react native

如何判断 Detox 正在运行测试?

RNMK - 超级表达式必须为空或函数

错误:看起来您在另一个中嵌套了一个NavigationContainer

RNFS.exists() 总是返回 TRUE

React - 类内的useContext

如何运行 React-Native 示例?

如何在 react-native 中获取组件的大小?

设置 rootView.appProperties 不会重新渲染根组件

在整个屏幕上获取touch 事件

我们如何将 Firebase Analytics 与基于 expo 的 react-native 应用程序一起使用

React Native 中的原生广告

如何使用特定目标运行 react-native run-ios

如何在react-native中显示toast消息

开始滚动时使 TouchableOpacity 不突出显示元素

react-native:0.41 app.json

React Native:并排对齐两个 TextInput

单击平面列表中的侦听器