使用React中的纯函数,您可以轻松地创建任何其他嵌套函数可重用的变量:
const myComponent = props => {
const {something} = props.nested;
const nestedFunction = () => {
if (something === "value") return true
}
const otherNestedFunction = () => {
console.log(otherNestedFunction)
}
return (
// markup
)
}
你能用React类做类似的事情吗?目前我不得不重复创建变量。
class myComponent extends React.Component() {
nestedFunction() {
const {something} = props.nested;
if (something === "value") return true
}
otherNestedFunction() {
const {something} = props.nested;
console.log(otherNestedFunction)
}
render(){
return (
// markup
)
}
}
答案 0 :(得分:2)
要在ES6类的函数之间共享变量,请使用成员变量。 React提供道具作为成员变量,您可以使用this.props
访问:
class myComponent extends React.Component() {
nestedFunction() {
if (this.props.nested === "value") return true
}
otherNestedFunction() {
console.log(this.props.nested)
}
render(){
return (
// markup
)
}
}
请注意,您不应该分配或以其他方式获得任何道具的价值。相反,使用带this.setState()
的状态来更新内部组件状态并触发生命周期事件以更新子组件。