使用:"react-apollo":"^ 1.4.3"
在父组件中,我使用GraphQL查询具有子项'fundQuarterlyMetric'的父节点'Fund'.这将以以下格式返回数据:
{
id
name
...
fundQuarterlyMetrics (orderBy: asAtDate_ASC) {
id
year
quarter
...
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试创建一个新的fundQuarterlyMetrics时,我必须使用更新功能(Apollo Client docs)更新react-apollo上的本地存储.它给了我一个错误:
Can't find field Fund({}) on object (ROOT_QUERY) {
"Fund({\"id\":\"cj57hpfips0x7014414u5tk8m\"})": {
"type": "id",
"id": "Fund:cj57hpfips0x7014414u5tk8m",
"generated": false
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我在console.log代理时,我可以看到基金和它的孩子们的数据....不知道该怎么做..
更新以下评论:
这是父组件数据请求:
export const fundPageQuery = gql`
query Fund($fundId: ID!) {
Fund(id: $fundId) {
id
name
....other variables
fundQuarterlyMetrics (orderBy: asAtDate_ASC) {
id
year
quarter
....other variables
}
}
Run Code Online (Sandbox Code Playgroud)
};
以下是我使用的选项:
var optionsForCreateFundMetric = {
update: (proxy, {data: {createFundMetrics}}) => …
Run Code Online (Sandbox Code Playgroud) 使用以下内容:Bootstrap 4.0.0-beta.2,popper.js 1.13.0和React 16.0.0.我的React应用程序中有多个下拉按钮,并且在第一次单击时它们无法打开.第一次单击后,它们按预期工作,并在第一次单击时打开和关闭.有任何想法吗?
<div className="dropdown">
<button type="button" className="btn btn-primary btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Edit</button>
<div className="dropdown-menu dropdown-menu-right">
<Link role="button" className="dropdown-item text-sm" to={path1}>Click me</Link>
<Link role="button" className="dropdown-item text-sm" to={path2}>Click me</Link>
<Link role="button" className="dropdown-item text-sm" to={path3}>Click me</Link>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我在app.jsx中加载的方式
//load bootstrap and app css
import Popper from 'popper.js';
window.Popper = Popper;
import 'bootstrap';
import 'style-loader!css-loader!sass-loader!applicationStyles';
Run Code Online (Sandbox Code Playgroud)
这就是我在webpack.config.js文件中加载bootstrap,jQuery和popper.js的方法
entry: [
'script-loader!jquery/dist/jquery.min.js',
'script-loader!popper.js/dist/umd/popper.min.js',
'script-loader!bootstrap/dist/js/bootstrap.min.js',
'babel-polyfill',
'./app/app.jsx',
],
externals: {
jQuery: 'jQuery'
},
plugins: [
// new BundleAnalyzerPlugin(),
new webpack.ProvidePlugin({
'$': 'jQuery',
'jQuery': 'jQuery', …
Run Code Online (Sandbox Code Playgroud)