Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在App.js中从组件中运行函数

如何在App.js中从组件中运行函数
EN

Stack Overflow用户
提问于 2021-07-06 15:26:16
回答 3查看 1.3K关注 0票数 0

对不起,我对react.js和Javascript非常陌生,所以这可能是一个非常简单的答案,但是为了上帝的爱。我找不到一个有效的答案。在我的App.js中,我有一个简单的方法来重新设置一些变量。

App.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React, { Component } from 'react';
import KeyPress from './components/KeyPress';
...
const initialState = {
  text: GetText(),
  userInput: '',
  symbols: 0,
  sec: 0,
  started: false,
  finished: false
}
const ThemeContext = React.createContext(initialState);
class App extends Component {
  
  state = initialState;

  restart = () => {
    this.setState(initialState)
  }
...

在我的组件文件中,我有一个如下所示的结构。

KeyPress.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React, { Component } from 'react'

export class KeyPress extends Component {
    render() {
        return (
            <div>
                
            </div>
        )
    }
}

export default KeyPress

文件结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
src
├── App.js
├── components
    ├── GetText.js
    ├── KeyPress.js

如何从restart()调用App.js中的函数KeyPress.js (希望重新设置initialState中的所有值)

EN

回答 3

Stack Overflow用户

发布于 2021-07-06 15:39:28

在应用程序类组件中,您将拥有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
restart = () => {
    this.setState(initialState)
  }
render() {
        return(
           <div>
            <KeyPress resetMethod={this.restart} />
           </div>
        );
    }

然后在KeyPress.js中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
render() {

return <button onClick={this.props.resetMethod}>Reset</button>;
}
票数 0
EN

Stack Overflow用户

发布于 2021-07-06 15:39:50

有一些可能的解决办法:

  1. 假设KeyPress是从App内部呈现的,则将restart函数作为支柱传递,例如<KeyPress restart={restart} />
  2. 使用上下文API手动创建全局状态。或使用像剩馀这样的库。
票数 0
EN

Stack Overflow用户

发布于 2021-07-06 15:32:34

尝试从app.js导出函数,导入它到comp,如果它没有工作,在根目录中创建一个文件,然后从那里创建和导出函数

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68278384

复制
相关文章
如何在EXCEL中运行ChatGPT,从此不再需要记函数
Excel是处理大量数据非常有用的工具。然而,找到并实施正确的公式有时可能是一个复杂和令人沮丧的经历。幸运的是,ChatGPT可以成为一个优秀的助手,帮助克服这些挑战。
matinal
2023/10/13
1.3K0
如何在EXCEL中运行ChatGPT,从此不再需要记函数
如何在Windows中运行bash
当微软宣布,将在Windows10上面支持bash时,所有的Unix命令行用户都为之雀跃了。上周三,微软发布了一个测试版本,开始支持了这项功能。 为了运行bash,首先要进行几步操作。首先,需要获得Windows10的build 14316。 安装内测版本之后,用户需要切换到开发者模式,从设置>更新(Settings > Updates),安全>开发者(Security > For Developers)打开新的设置页面,选择“Windows Subsystem for Linux (Beta)”,重启
CSDN技术头条
2018/02/11
3.9K0
如何在Windows中运行bash
从Excel中运行PPT
这里可以使用下面的PowerPointSlideshow宏从Excel中运行PowerPoint演示文稿。幻灯片放映完成后,可以按Esc键或单击屏幕上的任意位置来显示仍打开的演示文稿。在宏中已放置了注释,以解释代码在执行过程中的作用,并指出可以在何处调整PowerPoint演示文稿的名称、路径位置和幻灯片放映时间。
fanjy
2022/04/13
1.2K0
如何在EXCEL中运行ChatGPT,从此不再需要记函数【二】
Excel是处理大量数据非常有用的工具。然而,找到并实施正确的公式有时可能是一个复杂和令人沮丧的经历。幸运的是,ChatGPT可以成为一个优秀的助手,帮助克服这些挑战。
matinal
2023/10/13
2630
如何在EXCEL中运行ChatGPT,从此不再需要记函数【二】
如何在Docker容器中运行Docker [3种方法]
/var/run/docker.sock是默认的Unix套接字。套接字用于在同一主机上的进程之间进行通信。Docker守护程序默认情况下侦听docker.sock。如果您在运行Docker守护程序的主机上,则可以使用/ var/run/docker.sock管理容器。
DevOps云学堂
2020/09/14
27.3K0
如何在Docker容器中运行Docker [3种方法]
如何在 OpenShift 中运行 Collabora Office
近期在尝试 office 文档在线编辑和预览的一些解决方案, 目前在使用Collabora Office, 但是Collabora的docker镜像在OpenShift中运行不起来, 一直提示Operation not permitted.
东风微鸣
2022/04/21
1.2K0
如何在 OpenShift 中运行 Collabora Office
如何在Vue组件中定义方法
在上述示例中,使用 methods 选项来定义了两个方法:methodName 和 anotherMethod。你可以根据需要添加任意数量的方法。
王小婷
2023/09/13
5310
如何在 Bash 中编写函数
在编程时,实际上是在定义要由计算机执行的 过程(procedure)或 例程(routine)。一个简单的类比是将计算机编程与烤面包进行比较:你一次列出了要组建工作环境的配料,然后列出了烤面包所必须采取的步骤。在编程和烘烤中,必须以不同的间隔重复执行某些步骤。例如,在烤面包中,这可能是酵母培养的过程:
用户1880875
2021/09/16
1.8K0
如何在 Bash 中编写函数
在编程时,实际上是在定义要由计算机执行的 过程(procedure)或 例程(routine)。一个简单的类比是将计算机编程与烤面包进行比较:你一次列出了要组建工作环境的配料,然后列出了烤面包所必须采取的步骤。在编程和烘烤中,必须以不同的间隔重复执行某些步骤。例如,在烤面包中,这可能是酵母培养的过程:
用户1880875
2021/09/15
1.8K0
绑定事件中 如可控制函数的执行次数
var flag = true; function onlyOne() { if(flag) { "这里是要执行的代码"; } flag = false//该方法是控制函数仅执行一次 因为flag是全局变量 onlyOne()函数执行一次后flag就变成false了 函数就执行不了了
大当家
2018/06/28
2.3K0
从Python中运行Excel VBA
有时候,我们可能想要从Python运行Excel VBA宏,特别是当想要运行已有的Excel宏时,这很有用——甚至可以在不打开Excel文件的情况下执行这些VBA宏。
fanjy
2022/04/13
5.7K0
如何在Vue组件中访问Vuex store中的状态?
在Vue组件中访问Vuex store中的状态,可以通过计算属性 (computed properties) 或者直接通过$store.state来实现。
王小婷
2023/10/02
3760
如何在Python程序中运行Unix命令
Unix是由Ken Thompson和Dennis Ritchie在1969年左右在AT&T贝尔实验室开发的操作系统。 我们可以使用许多有趣的Unix命令来执行不同的任务。 问题是,我们可以直接在Python程序中使用此类命令吗? 这就是我将在本教程中向您展示的内容。
全栈程序员站长
2022/08/25
1.9K0
react 函数组件中 props应用
在 React 函数组件中,可以通过 props 对象来接收传递给组件的属性(props)。以下是一些常见的 props:
程序员王天
2023/10/18
1960
如何在VirtualBox中运行macOS Catalina Beta版本
本内容是关于如何在Linux上的VirtualBox中运行macOS Catalina Beta版的简短指南。
FB客服
2019/08/06
2.2K0
如何在VirtualBox中运行macOS Catalina Beta版本
如何在Chrome浏览器中运行Selenium?
测试系统是一项艰巨的任务,您需要一个可以在此过程中为您提供帮助的工具。Selenium就是这样一种工具,主要用于网站测试。在本文中,我将告诉您如何在Chrome浏览器中运行Selenium。
用户8460142
2023/07/07
5970
如何在Chrome浏览器中运行Selenium?
React篇(020)-如何在 React 中创建组件?
答案:有两种可行的方法来创建一个组件: 1. Function Components: 这是创建组件最简单的方式。这些是纯 JavaScript 函数,接受 props 对象作为第一个参数并返回 React 元素:
齐丶先丶森
2022/05/12
2.9K0
点击加载更多

相似问题

如何在安装组件之前等待App.js代码运行?

11

如何从函数组件获取值到类组件(App.js)?

13

将函数参数从App.js传递到React中的其他组件

112

从另一个组件调用App.js中的函数

10

反应:如何在App.js中从Stack.Screen组件中设置变量?

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文