Reactjs 在函数中单击按钮时反应更改文本
考虑到这一作用:Reactjs 在函数中单击按钮时反应更改文本,reactjs,state,Reactjs,State,考虑到这一作用: import React from 'react'; import { BrowserRouter, Route, Link } from 'react-router-dom' import HomeScreen from './Screens/HomeScreen' import './App.css'; import currentStrings from './utils/currentlang' function App() { const currentlan
import React from 'react';
import { BrowserRouter, Route, Link } from 'react-router-dom'
import HomeScreen from './Screens/HomeScreen'
import './App.css';
import currentStrings from './utils/currentlang'
function App() {
const currentlang = currentStrings;
const switchLanguage = () =>{
console.log("switching...");
currentlang.switchLang();
}
return (
<BrowserRouter>
<div className="grid-container">
<header className="header">
<div className="brand">
<Link to="/" >
</Link>
</div>
<div className="header-side">
{currentlang.getCurrent.subtitle}
</div>
<div className="header-right">
<button onClick={switchLanguage}> {currentlang.getCurrent.traduction} </button>
</div>
<div>
</div>
</header>
<main className="main">
<div className="content">
<Route path="/" exact={true} component={HomeScreen} />
</div>
</main>
<footer className="footer">
© 2020
</footer>
</div>
</BrowserRouter>
);
}
export default App;
从“React”导入React;
从“react router dom”导入{BrowserRouter,Route,Link}
从“./Screens/HomeScreen”导入主屏幕
导入“/App.css”;
从“/utils/currentlang”导入CurrentString
函数App(){
const currentlang=currentStrings;
常量开关语言=()=>{
控制台日志(“切换…”);
currentlang.switchLang();
}
返回(
{currentlang.getCurrent.subtitle}
{currentlang.getCurrent.traduction}
© 2020
);
}
导出默认应用程序;
我想切换语言,当我点击按钮时,函数本身会改变一个包含html文本列表的变量。然而,所有的研究都通过使用类来改变我页面的状态为我提供了解决方案,但是我的项目是功能性的,在我的上下文中不起作用。为了查看组件中的变化,
currentStrings
已经作为应用程序功能组件功能应用程序(props)的一个道具出现了
或类似这样的钩子:const[currentStrings,setCurrentStrings]=React.useState(initValue)
我有几个问题要问。如何传递到index.js中的参数?我试图使用,但反应是对象的方法未定义。我应该在useState中输入什么初始值,对象本身?是的,初始值就是对象本身。如果你用另一种方法
,则CurrentString
必须处于useState钩子中,或者处于调用App组件的类组件的状态