react calling function twice