小编Saj*_*eed的帖子

为什么我们要在react中使用useEffect或componentDidMount?

我不明白在我想做的事情(例如在渲染之前)的情况下需要使用 useEffect 。例如,在下面的代码中,我想用信息填充数据,例如通过从 API 接收。现在来看以下代码的区别:

const Product_List = (props) => {

    const [data, setData] = useState();

    getData((response)=> setData(response));

    return(
        <FlatList
            data={data}
        />
    )
}
Run Code Online (Sandbox Code Playgroud)

使用以下代码:

const Product_List = (props) => {

    const [data, setData] = useState();

    useEffect(() => {
        getData((response)=> setData(response));
    }, []);

    return(
        <FlatList
            data={data}
        />
    )
}
Run Code Online (Sandbox Code Playgroud)

换句话说,这段代码的不同之处在于:

class Product_List extends Component{
    constructor(props) {
        this.state = {
            data: []
        }
        getData((response)=> this.setState({data: response}));
    }
    render(){
        return(
            <FlatList
                data={data}
            />
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

使用以下代码:

class Product_List extends Component{
    constructor(props) …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native react-hooks

4
推荐指数
1
解决办法
1715
查看次数

标签 统计

javascript ×1

react-hooks ×1

react-native ×1

reactjs ×1