![](/img/trans.png)
[英]How do I access my react component props from a fineuploader const callback outside the class?
[英]How do I access a React Class method from outside?
可以说我有一个这样定义的组件-
// actioncomponent.js
import React from 'react';
class ActionComponent extends React.Component {
state = {
isAction: false;
}
doAction = () => {
this.setState({isAction: true})
}
render () {
return (
<div>
Some render stuff..
</div>
)
}
}
export default ActionComponent
从另一个完全不同的文件中,我想为第一个组件设置状态而不在新文件中渲染它 ,因此不需要使用refs或props。
// newfile.js
import ActionComponent from './actioncomponent.js'
ActionComponent.doAction()
我知道doAction
无法导出,并且将其称为static
也无法访问状态。 我如何实现这样的目标?
在React生态系统中,您可能不需要这个。
您可以将此方法传递给子组件:
class ActionComponent extends React.Component {
state = {
isAction: false
}
doAction = () => {
this.setState({isAction: true})
}
render () {
return (
<div>
<Child doAction={this.doAction} />
</div>
)
}
}
然后在“子组件”中可以触发此操作
// ...
render() {
<button onClick={() => props.doAction()}>Test</button>
}
如果您需要对父级而不是子级执行操作,则可能需要在上层构建状态或提升状态 。
您也可以不用钻道具就可以达到类似的目标,但是您需要一些状态管理工具,例如Redux或在某些情况下Context API非常适合。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.