function App() {
const [data, setData] = useState([])
const [sqlType, setSqlType] = useState("ALL")
useEffect(() => {
axios.get(updateSql_findAll, {
params: {
actualSqlType: sqlType
}
}).then(response => {
console.log(response.data[0].second)
setData(() => {
return response.data
})
})
}, [sqlType])
const onSqlTypeSelect = (event) => {
setSqlType(event.target.value)
}
return (
<div>
<select onChange={(event => onSqlTypeSelect(event))}
style={{width: "200px"}}>
<option value={"ALL"}>ALL</option>
<option value={"SELECT"}>SELECT</option>
</select>
<Test data={data[0]}/>
</div>
)
}
const Test = (props) => {
console.log(props.data.second)
return (<div>
Test
</div>)
}
我想的更新流程是,我选择 Sql 类型,useEffect 调用,data 数据变化,重渲染子组件 然而实际的流程是,我选择 Sql 类型,重新渲染了子组件,useEffect 调用,data 数据变化,子组件没有进行渲染
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.