【发布时间】:2020-01-07 00:47:14
【问题描述】:
React 16.8 将 state 和 setState 功能引入基于函数的组件中。
我的问题是:
在基于函数的组件的情况下,有什么方法可以改变函数外的状态吗?
示例:
import {useState} from 'react';
import Axios from 'axios';
function fetch_all_products(){
Axios.get(url)
.then(
response => {
let data = response.data;
//FROM HERE I WANT TO SET THIS DATA INTO SHOP COMPONENT
// STATE (i.e, products) AND RE RENDER THE SHOP COMPONENT
}
)
}
export default function Shop(){
const[products, setProducts] = useState(products['Rice','Oil']);
let all_products = products.map( product => {
return(
<li>product</li>
)
});
return(
<>
<h2>The Grocery Shop </h2>
<button onClick={fetch_all_products}>See All Products </button>
<ul>
{all_products}
</ul>
</>
)
}
我想使用 'fetch_all_products' 函数在函数外更改 Shop 组件的状态(产品)。
【问题讨论】:
-
在 fetch all 中使用回调
-
您能用代码描述一下吗? @DennisVash
标签: javascript reactjs react-component react-state-management