Во-первых, вам нужно убрать скобки ()
из свойств. Затем вы можете вычислить их за пределами return
:
render(){
// Assuming values are in pixels
let topval = `calc(50% + ${top}px)`, leftval = `calc(50% + ${left}px)`;
// rest of the code
return(
<div
style={{top: topval, left: leftval, transform: "translate(-50%,-50%)"}}
/>
)
}
Также убедитесь, что вы добавили единицы, такие как px
, em
et c. при работе с ненулевыми значениями css является недействительным.
Например, calc(50% - 10)
не так, calc(50% - 10px)
работает