Reactjs onChange不更新
在过去的几个小时里,我一直在做这个项目,我非常确定这最后一个小时将是我的最后一个小时。没有出现错误。我的想法是,当我从下拉列表中选择英雄时,页面将根据我的选择进行更新。我可能有一些我没有意识到的东西没有开火Reactjs onChange不更新,reactjs,axios,Reactjs,Axios,在过去的几个小时里,我一直在做这个项目,我非常确定这最后一个小时将是我的最后一个小时。没有出现错误。我的想法是,当我从下拉列表中选择英雄时,页面将根据我的选择进行更新。我可能有一些我没有意识到的东西没有开火 import React, {useEffect, useState} from 'react' import axios from 'axios' require("regenerator-runtime/runtime"); const App = () => { con
import React, {useEffect, useState} from 'react'
import axios from 'axios'
require("regenerator-runtime/runtime");
const App = () => {
const [hero, selectedHero] = useState(
'Select a Hero'
);
const handleChange = event => selectedHero(event.target.value);
return(
<HeroSelect heroSelect={hero} onChangeHeadline={handleChange} />
);
};
const HeroSelect = ({heroSelect, onChangeHeadline}) => {
const [data, setData] = useState({heroes: []});
useEffect(() => {
const fetchData = async () => {
const result = await axios(
'https://api.opendota.com/api/heroStats',
);
setData({...data, heroes: result.data});
};
fetchData();
}, []);
return (
<div>
<h1>{heroSelect}</h1>
<select>
{data.heroes.map(item => (
<option key={item.id} value={heroSelect} onChange={onChangeHeadline} >
{item.localized_name}
</option>
))}
</select>
</div>
)
};
export default App
import React,{useffect,useState}来自“React”
从“axios”导入axios
要求(“再生器运行时/运行时”);
常量应用=()=>{
const[hero,selectedHero]=使用状态(
“选择英雄”
);
const handleChange=event=>selectedHero(event.target.value);
返回(
);
};
常量HeroSelect=({HeroSelect,onchangewheadline})=>{
const[data,setData]=useState({heroes:[]});
useffect(()=>{
const fetchData=async()=>{
常量结果=等待axios(
'https://api.opendota.com/api/heroStats',
);
setData({…数据,英雄:result.data});
};
fetchData();
}, []);
返回(
{heroSelect}
{data.heroes.map(项=>(
{item.localized_name}
))}
)
};
导出默认应用程序
您应该在select
标记本身上触发onChange
事件
<select onChange={onChangeHeadline} >
.....
.....
</select>
.....
.....
您应该在select
标记本身上触发onChange
事件
<select onChange={onChangeHeadline} >
.....
.....
</select>
.....
.....
在上定义您的onChange={onChangeHeadline}
选择标记非选项
标记
<select onChange={onChangeHeadline}>
{data.heroes.map(item => (
<option key={item.id} value={item.localized_name}>
{item.localized_name}
</option>
))}
</select>
{data.heroes.map(项=>(
{item.localized_name}
))}
在上定义您的onChange={onChangeHeadline}
选择标记非选项
标记
<select onChange={onChangeHeadline}>
{data.heroes.map(item => (
<option key={item.id} value={item.localized_name}>
{item.localized_name}
</option>
))}
</select>
{data.heroes.map(项=>(
{item.localized_name}
))}
我想您没有在select上声明onChange 我想你没有在select上声明onChange 使用此方法:
<select id="lang" onChange={this.change} value={this.state.value}>
<option value="select">Select</option>
<option value="Java">Java</option>
<option value="C++">C++</option>
</select>
挑选
JAVA
C++
使用此方法:
<select id="lang" onChange={this.change} value={this.state.value}>
<option value="select">Select</option>
<option value="Java">Java</option>
<option value="C++">C++</option>
</select>
挑选
JAVA
C++
你是一个传奇人物!哈哈…不,兄弟…我不是,但你可以投票接受答案。快乐编码:)你是一个传奇!哈哈…不,兄弟…我不是,但你可以投票接受答案。快乐编码:)@4156没有朋友这只是个错误。如果答案对您有帮助,请接受/投票。@4156没有朋友,这只是个错误。如果答案对你有帮助,请接受/投票支持。