Skip to content

Commit 977780c

Browse files
committed
Add option to totally disable server-side rendering. This is useful when debugging scripts. Closes #331
1 parent 1ddb7b0 commit 977780c

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

src/React.Core/IReactSiteConfiguration.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,5 +159,14 @@ public interface IReactSiteConfiguration
159159
/// useful debugging tips.
160160
/// </summary>
161161
IReactSiteConfiguration SetUseDebugReact(bool value);
162+
163+
/// <summary>
164+
/// Gets or sets whether server-side rendering is enabled.
165+
/// </summary>
166+
bool UseServerSideRendering { get; set; }
167+
/// <summary>
168+
/// Disables server-side rendering. This is useful when debugging your scripts.
169+
/// </summary>
170+
IReactSiteConfiguration DisableServerSideRendering();
162171
}
163172
}

src/React.Core/ReactComponent.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@ public ReactComponent(IReactEnvironment environment, IReactSiteConfiguration con
110110
/// <returns>HTML</returns>
111111
public virtual string RenderHtml(bool renderContainerOnly = false, bool renderServerOnly = false)
112112
{
113+
if (!_configuration.UseServerSideRendering)
114+
{
115+
renderContainerOnly = true;
116+
}
117+
113118
if (!renderContainerOnly)
114119
{
115120
EnsureComponentExists();

src/React.Core/ReactSiteConfiguration.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public ReactSiteConfiguration()
4343
StringEscapeHandling = StringEscapeHandling.EscapeHtml
4444
};
4545
UseDebugReact = false;
46+
UseServerSideRendering = true;
4647
}
4748

4849
/// <summary>
@@ -270,5 +271,19 @@ public IReactSiteConfiguration SetUseDebugReact(bool value)
270271
UseDebugReact = value;
271272
return this;
272273
}
274+
275+
/// <summary>
276+
/// Gets or sets whether server-side rendering is enabled.
277+
/// </summary>
278+
public bool UseServerSideRendering { get; set; }
279+
280+
/// <summary>
281+
/// Disables server-side rendering. This is useful when debugging your scripts.
282+
/// </summary>
283+
public IReactSiteConfiguration DisableServerSideRendering()
284+
{
285+
UseServerSideRendering = false;
286+
return this;
287+
}
273288
}
274289
}

0 commit comments

Comments
 (0)