我认为这是一个简单的问题,但我不清楚最好的方法。
除了运行我的React App之外,我还需要异步且独立地运行一个脚本,以便(例如)将用户指纹添加到我的数据库中。
此脚本的结果不会影响应用程序,但我需要在App中包含此脚本,因为我正在使用App函数。
我可以想到两种方法:
1) index.js内部
import { add_fingerprint } from './utils/Functions';
add_fingerprint();
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
);2)在App组件内部:
import { add_fingerprint } from './utils/Functions';
class App extends Component {
constructor(props) {
super(props)
}
componentDidMount(){
add_fingerprint();
}
render () {
return (<div>My app</div>)
}
}add_fingerprint函数:
export function add_fingerprint () {
import axios from 'axios';
import Fingerprint2 from 'fingerprintjs2';
setTimeout(function () {
Fingerprint2.get(function (components) {
//axios call to add to my database
})
}, 500)
}最正确的方法是什么?
发布于 2018-11-15 21:18:05
第二点是正确的。
如果需要从远程端点加载数据,这是实例化网络请求的好地方。https://reactjs.org/docs/react-component.html#componentdidmount
https://stackoverflow.com/questions/53320086
复制相似问题