【发布时间】:2021-05-20 14:32:45
【问题描述】:
考虑这个例子
export function InsideHoc(props){
const [A, setA] = useState(false);
return({if(A) && (<h1>Print something</h1>)});
}
在另一个文件中
import {A, setA} from './inside-file';
function ToggleFromOutside(){
return(<p onClick={setA(!A)}>Verify</p>);
}
是否可以将 setA 暴露在外部,以便从外部更改此组件的状态?我知道这可以通过 redux 来完成。但是不使用这个,有没有办法改变一个组件的状态?
结构是这样的
import {withCreateHOC} from './external';
import childComponent from './child';
class A extends React.Component {
render(){
<Another menus={(item) => <MenuItems object={item} />}
/>
}
}
export default withCreateHOC(A, {custom: childComponent, title: 'Add'});
//withCreateHOC 在这里渲染模态,并且它有一个按钮来切换状态。下面的函数应该使用相同的状态
function MenuItems(){
return(<button onClick={displayModal}>)
}
【问题讨论】:
标签: javascript reactjs components stateless