diff --git a/packages/jsx-compiler/src/adapter.js b/packages/jsx-compiler/src/adapter.js index b0199c01..320a9ac5 100644 --- a/packages/jsx-compiler/src/adapter.js +++ b/packages/jsx-compiler/src/adapter.js @@ -83,6 +83,8 @@ const parserAdapters = { // Handle rax-slider and rax-swiper insertSwiperSlot: true, needRegisterProps: true, + // https://reactjs.org/docs/jsx-in-depth.html#props-default-to-true compat for WeChatMiniProgram + needPropsDefaultToTrue: true, }, 'bytedance': { platform: 'bytedance', diff --git a/packages/jsx-compiler/src/modules/attribute.js b/packages/jsx-compiler/src/modules/attribute.js index b1a0460d..d93365e6 100644 --- a/packages/jsx-compiler/src/modules/attribute.js +++ b/packages/jsx-compiler/src/modules/attribute.js @@ -74,6 +74,9 @@ function transformAttribute(ast, code, adapter) { } break; default: + if (node.value === null && adapter.needPropsDefaultToTrue) { + node.value = t.jsxExpressionContainer(t.booleanLiteral(true)); + } path.skip(); } }