我有# Ref: https://stackoverflow.com/a/50404308/9331359
from pyspark import SparkContext
context = SparkContext()
context.addPyFile('/anaconda3/lib/python3.7/site-packages/pyspark/jars/graphframes-0.7.0-spark2.4-s_2.11.jar')
context
# Ref: https://stackoverflow.com/a/55430066/9331359
from pyspark.sql.session import SparkSession
spark = SparkSession(context)
from pyspark.sql.types import *
from graphframes import *
个方法调用componentDidMount
和
this.initializeSelections()
在该方法内部具有以下实现。
this.initalizeSelections()
如果我要使用React Hook重写它,我会陷入困境,但是我感觉被卡住了。.这是我到目前为止所拥有的,它看起来不适合工作代码。
initializeSelections = () => {
this.setState({
selectedRetailers: this.getAllConnectedRetailerIds(),
selectedPriceTypes: this.getDefaultRetailerPriceTypes(),
})
}
const initializeSection =()=> { 我不确定如何在这里使用useState ... }
答案 0 :(得分:0)
依赖项数组为空的UseEffect与componentDidMount()相同。
如果有useEffect内部的函数,则使用useEffect可能会得到详尽的下降警告。有几种不同的处理方法。他们将在警告中为您提供示例,或者您可以将函数包装在useCallback挂钩中以进行处理。或者,如果您确定不需要依赖项,则可以禁用此警告或将其忽略。
如果要使用挂钩设置状态,则必须使用useState挂钩。因此您的组件将如下所示:
import React, {useState} from 'react'
const YourComponent = () => {
const [selectedRetailers, setSelectedRetailers] = useState(yourIntialValue);
const [selectedPriceTypes, setselectedPriceTypes] = useState(yourIntialValue);
useEffect( () => {
setSelectedRetailers(getAllConnectedRetailerIds());
setSelectedPriceTypes(getDefaultRetailerPriceTypes());
}, []);
return (
<div></div>
)
}
此外,您还可以像使用基于类的状态对象一样设置useState:
const [state, setState] = useState({
//your state values
selectedRetailers: initialValue,
selectedPriceTypes: initialValue,
});
然后您可以像这样设置state:
setState({
...state,
selectedRetailers: newValue,
selectedPriceTypes: newValue
});