Javascript 导出React.JS变量并在其他文件中使用
所以我想做的是从Forecast.js的单选按钮(metric或imperial)中获取输入,在Conditions.js的函数中使用它们来确定天气是热还是冷。我已经从Forecast.js导出了变量unit,但是当我尝试在costs()函数中使用它时,它不起作用。 我已经尝试了我在网上找到的一切,我试图理解,但我是新手 Conditions.js 它不起作用的原因可能是因为我没有正确地导入和导出,或者因为我没有正确地使用导入的变量 编辑:正如我所说,我是一个初学者,我知道的不多,我想看看如何解决这个问题,然后了解如何解决。我只需要了解我的代码的问题,或者一个替代方案Javascript 导出React.JS变量并在其他文件中使用,javascript,reactjs,Javascript,Reactjs,所以我想做的是从Forecast.js的单选按钮(metric或imperial)中获取输入,在Conditions.js的函数中使用它们来确定天气是热还是冷。我已经从Forecast.js导出了变量unit,但是当我尝试在costs()函数中使用它时,它不起作用。 我已经尝试了我在网上找到的一切,我试图理解,但我是新手 Conditions.js 它不起作用的原因可能是因为我没有正确地导入和导出,或者因为我没有正确地使用导入的变量 编辑:正如我所说,我是一个初学者,我知道的不多,我想看看如何
功能父级(道具){
const[unit,setUnit]=useState(“”)
返回(
)
}
功能儿童(道具){
控制台日志(道具单元)
返回(
)
}
功能父级(道具){
const[unit,setUnit]=useState(“”)
返回(
)
}
功能儿童(道具){
控制台日志(道具单元)
返回(
)
}
事情不是这样的。一个组件中的一个状态变量(如
unit
)不能像那样导出
您主要可以做两件事:
- 一种是将此
值作为道具传递给单位
,然后将其传递给条件.js
功能(使用时,就像传递温度值一样)以使用它李>衣服
- 另一个是有一个状态管理工具,比如,或者甚至使用。如果您只需要使用其中一个,它可能无法补偿额外的样板文件,但至少值得了解它们
- 这不是整个事情的运作方式。一个组件中的一个状态变量(如
unit
)不能像那样导出
您主要可以做两件事:
- 一种是将此
值作为道具传递给单位
,然后将其传递给条件.js
功能(使用时,就像传递温度值一样)以使用它李>衣服
- 另一个是有一个状态管理工具,比如,或者甚至使用。如果您只需要使用其中一个,它可能无法补偿额外的样板文件,但至少值得了解它们
窗口
对象当在方法外部使用时
引用窗口
对象,而窗口
对象中没有任何状态
属性。它永远不会工作。。。您无权访问Forecast
功能之外的状态OK,那么我该怎么做呢?我在网上尝试了所有操作,但都无法正常工作。此数字('t')
不起作用,它将字符串“t”
转换为数字<代码>编号(t)
应该是正确的。如果我是你,我会尝试给这个变量取一个更好的名字。另外,您不需要else
,因为您在if
之后返回。您知道这个到底是什么吗?因为它是javascript文件内部的全局变量,所以它是窗口
对象当在方法外部使用时
引用窗口
对象,而窗口
对象中没有任何状态
属性。它永远不会工作。。。您无权访问Forecast
功能之外的状态OK,那么我该怎么做呢?我在网上尝试了所有操作,但都无法正常工作。此数字('t')
不起作用,它将字符串“t”
转换为数字<代码>编号(t)
应该是正确的。如果我是你,我会尝试给这个变量取一个更好的名字。另外,您不需要在那里使用else
,因为您将在if
之后返回。。。。或者使用上下文。。。或者使用上下文
import { unit } from '../Forecast/Forecast.js';
function clothes(t) {
if (unit === "metric") {
if (Number('t') <= 20)
return (<>
<img src={Cold} alt="wind icon" style={{ width: 50, marginRight: 20, height: 50 }} />
It's cold, dress accordingly!
</>);
else
return (<>
<img src={Hot} alt="wind icon" style={{ width: 50, marginRight: 20, height: 50 }} />
It's Warm, dress accordingly!
</>);
}
if (unit === "imperial") {
if (Number('t') <= 70)
return (<>
<img src={Cold} alt="wind icon" style={{ width: 50, marginRight: 20, height: 50 }} />
It's cold, dress accordingly!
</>);
else
return (<>
<img src={Hot} alt="wind icon" style={{ width: 50, marginRight: 20, height: 50 }} />
It's Warm, dress accordingly!
</>);
}
}
export default Forecast;
export let unit = this.state.unit;
function Parent(props){
const [unit,setUnit] = useState("")
return(
<Child unit={unit}>
)
}
function Child(props){
console.log(props.unit)
return(
<div/>
)
}