在 React 中通过 id 查询
Query by id in React
试图找出如何从数据库中抓取单个对象,我知道它的关键,在 ReactJS 中。
import { db } from 'baqend';
componentWillMount() {
db.Companies.load('16747fce-f0b1-422b-aa60-220c2dccac58')
.then((response) => {
console.log(response);
});
}
我收到此错误:
TypeError: Cannot read property 'load' of undefined
EditCompany.componentWillMount
src/containers/EditCompany.js:33
30 | }
31 |
32 | componentWillMount() {
> 33 | db.Companies.load('16747fce-f0b1-422b-aa60-220c2dccac58')
34 | .then((response) => {
35 | console.log(response);
36 | });
我试图直接在组件中执行此操作,但该项目正在使用 React Starter。这就像查看公司详细信息页面。
这是因为数据库还没有连接,你必须等待连接,然后才能请求数据。
有两种方法可以解决这个问题。第一个选项是像这样简单地调用 db 对象提供的就绪函数
db.ready().then((db) => {
db.Companies.load(....
})
我假设您使用的不是我们的 react-redux-starter,而是一个简单的 Create-React-App。对于这种情况,我们刚刚创建了 react-baqend-provider,尚未记录,但您已经可以安装它了。
$ yarn install react-baqend-provider
然后使用 baqendProvider,它获取一个数据库连接实例并将其包装在 app.js 或 index.js
中的应用程序周围
import { BaqendProvider } from 'react-baqend-provider'
<BaqendProvider db={db.connect('codetalks17', true)}>
<YourApp />
</BaqendProvider>
现在,如果您想在您的组件之一中加载数据,只需将您的组件包装在 react-baqend-provider 提供的 Baqend 高阶组件中。该组件将正确的数据库实例传递给您的组件属性。
import { baqend } from 'react-baqend-provider'
class EditCompany extends Component {
componentDidMount() {
const { db } = this.props
db.Companies.load(.......
}
}
export default baqend(EditCompany)
希望对您有所帮助
试图找出如何从数据库中抓取单个对象,我知道它的关键,在 ReactJS 中。
import { db } from 'baqend';
componentWillMount() {
db.Companies.load('16747fce-f0b1-422b-aa60-220c2dccac58')
.then((response) => {
console.log(response);
});
}
我收到此错误:
TypeError: Cannot read property 'load' of undefined
EditCompany.componentWillMount
src/containers/EditCompany.js:33
30 | }
31 |
32 | componentWillMount() {
> 33 | db.Companies.load('16747fce-f0b1-422b-aa60-220c2dccac58')
34 | .then((response) => {
35 | console.log(response);
36 | });
我试图直接在组件中执行此操作,但该项目正在使用 React Starter。这就像查看公司详细信息页面。
这是因为数据库还没有连接,你必须等待连接,然后才能请求数据。 有两种方法可以解决这个问题。第一个选项是像这样简单地调用 db 对象提供的就绪函数
db.ready().then((db) => {
db.Companies.load(....
})
我假设您使用的不是我们的 react-redux-starter,而是一个简单的 Create-React-App。对于这种情况,我们刚刚创建了 react-baqend-provider,尚未记录,但您已经可以安装它了。
$ yarn install react-baqend-provider
然后使用 baqendProvider,它获取一个数据库连接实例并将其包装在 app.js 或 index.js
中的应用程序周围import { BaqendProvider } from 'react-baqend-provider'
<BaqendProvider db={db.connect('codetalks17', true)}>
<YourApp />
</BaqendProvider>
现在,如果您想在您的组件之一中加载数据,只需将您的组件包装在 react-baqend-provider 提供的 Baqend 高阶组件中。该组件将正确的数据库实例传递给您的组件属性。
import { baqend } from 'react-baqend-provider'
class EditCompany extends Component {
componentDidMount() {
const { db } = this.props
db.Companies.load(.......
}
}
export default baqend(EditCompany)
希望对您有所帮助