看看以下功能组件:
const MyComponent = (props) => {
function addPropData() {
return prop.data.name
}
return (
<div>{addPropData()}</div>
)
}
我想知道是否可以声明addPropData
的{{1}}函数 outside 。例如,如下所示:
MyComponent
我知道这行不通-我想知道是否有办法使其正常工作?如果可以,怎么办?
谢谢。
答案 0 :(得分:1)
将变量传递给函数。
const MyComponent = (props) => {
return (
<div>{addPropData(props)}</div>
)
}
function addPropData(props) {
return props.data.name
}
在上下文中,如下所示:
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<div id="like_button_container"></div>
<script type="text/babel">
const MyComponent = (props) => {
return (
<div>{addPropData(props)}</div>
)
}
function addPropData(props) {
return props.data.name
}
function App() {
return (
<div className="App">
<MyComponent data={{ name: "myname" }} />
</div>
)
}
const domContainer = document.querySelector('#like_button_container')
const e = React.createElement
ReactDOM.render(e(App), domContainer);
</script>