【发布时间】:2020-10-05 13:39:23
【问题描述】:
我有一个功能组件,里面有几个功能。在下面的示例中,内部函数是function1 和function2。我试图弄清楚是否需要将功能组件的道具(prop1、prop2)以及功能组件中的其他声明变量(variable1、variable2)显式传递给这些内部函数。这是一个例子:
import React from 'react'
import * as d3 from 'd3';
function MyFunction({prop1, prop2}) {
const variable1 = '#333333';
const variable2 = 'Jimmy';
const function1 = () => {
d3.select('g.g1')
.append('rect')
.attr('color', variable1)
}
const function2 = () => {
d3.select('g.g2')
.append('text')
.text(prop1.label)
}
return (
<svg>
<g className='g1' />
<g className='g2' />
</svg>
);
}
export default MyFunction;
如果我不必显式声明 function1 和 function2 的参数以便能够使用这些 props + 在上层范围内声明的其他变量,这似乎简化了我的代码,但是我不确定这是否是一个不好的做法,或者这是否会导致我的代码出现其他问题。这样可以吗?
编辑
想要指出的是,事实上,这似乎没有任何问题。我的问题更多的是 - 我应该这样做/可以吗/这样做我可能会遇到问题吗?
【问题讨论】:
标签: reactjs react-props react-functional-component